SQL Server 數據庫狀態選項


選項 1、

        single_user(單用戶),multi_user(多用戶),restricted_user(受限用戶);

        描述數據庫的用戶訪問屬性,它們互斥,設置其中任何一個選項就會取消對其它選項的設置

        single_user模式的數據庫每次只能有一個連接。

        restricted_user模式可以有多個連接,前提是這些用戶要是被認為是‘合格’的如 sysadmin,dbcreator,dbowner。

        multi_user任何有效的用戶都可以連接。

        例子:

              alter database studio
              set single_user
              with
              rollback immediate ;                                             ----       | rollback after 1000|no_wait;
              go

              

              注意:這個時候只有一個連接可以操作數據庫,如果別的連接想要操作數據庫,它會失敗,不是因為它的權限問題,而是只可以有一個連接。

選項 2、

         online, offline, emergency 它們互斥

         如果數據被設置為offline,它就會關閉而且完全關掉,並且標記為脫機,數據庫脫機時不可以有被修改,如果數據庫

         中有任何連接都不可以被標記為offline。

         例子:

               select name , state_desc
               from sys.databases
               where name = 'studio'

               with rollback immediate ;                                             ----       | rollback after 1000|no_wait;
               go

               

      注意:

            對於數據庫的狀態我們可以設置是只有  offline ,online,emergency!   它的一些別的狀態我們是不可能對它進行設置的

            如:從備份中還原的過程會對應    recovering ,如果出於一些原因沒有辦法完成還原就會對應   recovery_pending;

            如:還原過程中檢測出了數據損壞就會對應 suspect,數據庫就會變得完全不可用,很多情況下可以把數據庫設置為 emergency

                  從而可以對它進行只讀操作,如果的丟失數據庫的一個或多個日志文件,在將數據庫復制到新位置時,用emergency 模式還

                  還可以對數據庫進行訪問。從recovery_pending 轉換到 emergency時SQL Server會關閉數據庫,然后用特殊的標記重新

                  啟動,這樣會跳過恢復過程,跳過恢復意味着可能會有邏輯上的錯誤或物理上的不一致(如 索引丟失,斷開頁面) 

選項 3、

         read_only ,read_write

         -----------------------  

        alter database studio
        set read_only
        with
              rollback immediate;                                             ----       | rollback after 1000|no_wait;
        go

----------------------------------------------------------------------------------------------------------------------------------------------------

                                                              狀態選項都可以和

                                                              rollback immediate | rollback after 1000 | no_wait;

                                                               配合

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM