標籤:des blog http io sp 檔案 資料 2014 on
選項 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;
配合
SQL Server 資料庫狀態選項