SQL Server 数据库状态选项
選項(xiàng) 1、
? ? ? ? single_user(單用戶),multi_user(多用戶),restricted_user(受限用戶);
? ? ? ? 描述數(shù)據(jù)庫(kù)的用戶訪問(wèn)屬性,它們互斥,設(shè)置其中任何一個(gè)選項(xiàng)就會(huì)取消對(duì)其它選項(xiàng)的設(shè)置
? ? ? ? single_user模式的數(shù)據(jù)庫(kù)每次只能有一個(gè)連接。
? ? ? ? restricted_user模式可以有多個(gè)連接,前提是這些用戶要是被認(rèn)為是‘合格’的如 sysadmin,dbcreator,dbowner。
? ? ? ? multi_user任何有效的用戶都可以連接。
? ? ? ? 例子:
? ? ? ? ? ? ? alter database studio
? ? ? ? ? ? ? set single_user
? ? ? ? ? ? ? with
? ? ? ? ? ? ? rollback immediate ; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ---- ? ? ? | rollback after 1000|no_wait;
? ? ? ? ? ? ? go
? ? ? ? ? ? ??
? ? ? ? ? ? ? 注意:這個(gè)時(shí)候只有一個(gè)連接可以操作數(shù)據(jù)庫(kù),如果別的連接想要操作數(shù)據(jù)庫(kù),它會(huì)失敗,不是因?yàn)樗臋?quán)限問(wèn)題,而是只可以有一個(gè)連接。
選項(xiàng) 2、
? ? ? ? ?online, offline, emergency 它們互斥
? ? ? ? ?如果數(shù)據(jù)被設(shè)置為offline,它就會(huì)關(guān)閉而且完全關(guān)掉,并且標(biāo)記為脫機(jī),數(shù)據(jù)庫(kù)脫機(jī)時(shí)不可以有被修改,如果數(shù)據(jù)庫(kù)
? ? ? ? ?中有任何連接都不可以被標(biāo)記為offline。
? ? ? ? ?例子:
? ? ? ? ? ? ? ?select name , state_desc
? ? ? ? ? ? ? ?from sys.databases
? ? ? ? ? ? ? ?where name = 'studio'
? ? ? ? ? ? ? ?with?rollback immediate ; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ---- ? ? ? | rollback after 1000|no_wait;
? ? ? ? ? ? ? ?go
? ? ? ? ? ? ? ?
? ? ? 注意:
? ? ? ? ? ? 對(duì)于數(shù)據(jù)庫(kù)的狀態(tài)我們可以設(shè)置是只有 ?offline ,online,emergency! ? 它的一些別的狀態(tài)我們是不可能對(duì)它進(jìn)行設(shè)置的
? ? ? ? ? ? 如:從備份中還原的過(guò)程會(huì)對(duì)應(yīng) ? ?recovering ,如果出于一些原因沒(méi)有辦法完成還原就會(huì)對(duì)應(yīng) ? recovery_pending;
? ? ? ? ? ? 如:還原過(guò)程中檢測(cè)出了數(shù)據(jù)損壞就會(huì)對(duì)應(yīng) suspect,數(shù)據(jù)庫(kù)就會(huì)變得完全不可用,很多情況下可以把數(shù)據(jù)庫(kù)設(shè)置為 emergency
? ? ? ? ? ? ? ? ? 從而可以對(duì)它進(jìn)行只讀操作,如果的丟失數(shù)據(jù)庫(kù)的一個(gè)或多個(gè)日志文件,在將數(shù)據(jù)庫(kù)復(fù)制到新位置時(shí),用emergency 模式還
? ? ? ? ? ? ? ? ? 還可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)。從recovery_pending 轉(zhuǎn)換到 emergency時(shí)SQL Server會(huì)關(guān)閉數(shù)據(jù)庫(kù),然后用特殊的標(biāo)記重新
? ? ? ? ? ? ? ? ? 啟動(dòng),這樣會(huì)跳過(guò)恢復(fù)過(guò)程,跳過(guò)恢復(fù)意味著可能會(huì)有邏輯上的錯(cuò)誤或物理上的不一致(如 索引丟失,斷開(kāi)頁(yè)面)?
選項(xiàng) 3、
? ? ? ? ?read_only ,read_write
? ? ? ? ?----------------------- ?
? ? ? ? alter database studio
? ? ? ? set read_only
? ? ? ? with
? ? ? ? ? ? ? rollback immediate;?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ---- ? ? ? | rollback after 1000|no_wait;
? ? ? ? go
----------------------------------------------------------------------------------------------------------------------------------------------------
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 狀態(tài)選項(xiàng)都可以和
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??rollback immediate | rollback after 1000 | no_wait;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?配合
?
轉(zhuǎn)載于:https://www.cnblogs.com/JiangLe/p/4036629.html
總結(jié)
以上是生活随笔為你收集整理的SQL Server 数据库状态选项的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: TinyXml高速入门(一)
- 下一篇: 关于mysql的表名/字段名/字段值是否