當(dāng)SQL SERVER數(shù)據(jù)庫(kù)狀態(tài)為質(zhì)疑(SUSPECT)狀態(tài)時(shí),我們可以用以下方法來處理: 1. 修改數(shù)據(jù)庫(kù)為緊急模式:ALTER DATABASE DBName SET EMERGENCY . 2. 檢查數(shù)據(jù)庫(kù)的完整性:DBCC CHECKDB(‘DBName’) 3. 檢查沒有錯(cuò)誤則恢復(fù)數(shù)據(jù)庫(kù)為正常模式:ALTER DATABASE DBName SET ONLI…
當(dāng)SQL SERVER數(shù)據(jù)庫(kù)狀態(tài)為質(zhì)疑(SUSPECT)狀態(tài)時(shí),我們可以用以下方法來處理:
1. 修改數(shù)據(jù)庫(kù)為緊急模式:ALTER DATABASE DBName SET EMERGENCY .
2. 檢查數(shù)據(jù)庫(kù)的完整性:DBCC CHECKDB(‘DBName’)
3. 檢查沒有錯(cuò)誤則恢復(fù)數(shù)據(jù)庫(kù)為正常模式:ALTER DATABASE DBName SET ONLINE;
4 如檢查數(shù)據(jù)庫(kù)有錯(cuò)誤則修改數(shù)據(jù)庫(kù)為單用戶模式,依情況選擇以下命令行進(jìn)行修復(fù)數(shù)據(jù);
- DBCC CHECKDB('DBName', REPAIR_FAST);
- DBCC CHECKDB('DBName', REPAIR_REBUILD);
- DBCC CHECKDB('DBName', REPAIR_ALLOW_DATA_LOSS);
修復(fù)完成后將數(shù)據(jù)庫(kù)改為正常模式,重啟SQL服務(wù)或重啟服務(wù)器。
- ALTER DATABASE DBName SET EMERGENCY /* 修改數(shù)據(jù)庫(kù)為緊急模式*/
-
ALTER DATABASE DBName SET SINGLE_USER /* 修改數(shù)據(jù)庫(kù)為單用戶模式*/
-
ALTER DATABASE DBName SET MULTI_USER /* 修改數(shù)據(jù)庫(kù)為多用戶模式*/
-
ALTER DATABASE DBName SET ONLINE /* 數(shù)據(jù)庫(kù)從緊急&單用戶&多用戶模式恢復(fù)為正常模式*/
-
DBCC CHECKDB('DBName') /* 檢查數(shù)據(jù)庫(kù)完整性*/
-
DBCC CHECKDB('DBName', REPAIR_FAST) /* 快速修復(fù)數(shù)據(jù)庫(kù)*/
-
DBCC CHECKDB('DBName', REPAIR_REBUILD) /* 重建索引并修復(fù)*/
- DBCC CHECKDB('DBName', REPAIR_ALLOW_DATA_LOSS) /*如果必要允許丟失數(shù)據(jù)修復(fù),數(shù)據(jù)庫(kù)修復(fù)需在單用戶模式下進(jìn)行
-
1. 關(guān)掉所有能訪問數(shù)據(jù)庫(kù)的程序, 比如iis和windows服務(wù). 保證不會(huì)有連接請(qǐng)求 數(shù)據(jù)庫(kù)
ALTER DATABASE nopapp SET EMERGENCY .設(shè)置緊急模式
2. 用sp_who2查看連接, 用kill {pid} 殺死連接
3. 切到單用戶下.
4. dbcc 修復(fù)數(shù)據(jù)
5. 切到多用戶或者先重啟數(shù)據(jù)庫(kù)實(shí)例再切.
6. ALTER DATABASE nopapp SET ONLINE;
上一篇:使用命令提示符登錄數(shù)據(jù)庫(kù)(MSDE、SQLEXPRESS)并執(zhí)行SQL語(yǔ)句的操作方法
下一篇:關(guān)于Windows XP系統(tǒng)提示"無法訪問.....配額不足,無法處理此命令"的解決方法