數(shù)據(jù)庫(kù)損壞DBCC修復(fù)方法詳解
第一步:查詢分析器中執(zhí)行語(yǔ)句 在進(jìn)行數(shù)據(jù)庫(kù)修復(fù)之前,請(qǐng)先斷開(kāi)所有其他數(shù)據(jù)庫(kù)連接。以專賣(mài)店V7為例,打開(kāi)查詢分析器并執(zhí)行以下語(yǔ)句: ``` USE master GO ``` 第二步:切換到
第一步:查詢分析器中執(zhí)行語(yǔ)句
在進(jìn)行數(shù)據(jù)庫(kù)修復(fù)之前,請(qǐng)先斷開(kāi)所有其他數(shù)據(jù)庫(kù)連接。以專賣(mài)店V7為例,打開(kāi)查詢分析器并執(zhí)行以下語(yǔ)句:
``` USE master GO ```第二步:切換到單用戶模式
執(zhí)行以下語(yǔ)句將數(shù)據(jù)庫(kù)切換到單用戶模式:
``` EXEC sp_dboption 'isszmv7', 'single user', 'TRUE' GO ```第三步:數(shù)據(jù)庫(kù)修復(fù)
執(zhí)行以下語(yǔ)句進(jìn)行數(shù)據(jù)庫(kù)修復(fù):
``` DBCC CHECKDB ('isszmv7', 'repair_rebuild') GO ```再次檢查數(shù)據(jù)庫(kù),如果沒(méi)有出現(xiàn)紅色提示文字,說(shuō)明修復(fù)成功。如果還有錯(cuò)誤未修復(fù),則需要嘗試更高級(jí)別的修復(fù)方法。將上面修復(fù)語(yǔ)句中的'repair_rebuild'替換為'repair_allow_data_loss',然后再次檢查數(shù)據(jù)庫(kù)。
``` DBCC CHECKDB ('isszmv7') ```如果仍然存在未修復(fù)的錯(cuò)誤,請(qǐng)將這些信息以文字方式發(fā)送給我們。
第四步:返回到多用戶模式
在退出之前,請(qǐng)執(zhí)行以下語(yǔ)句返回到多用戶模式:
``` EXEC sp_dboption 'isszmv7', 'single user', 'FALSE' GO ```最后步驟:修復(fù)自增列
在數(shù)據(jù)庫(kù)成功修復(fù)后,執(zhí)行以下語(yǔ)句修復(fù)自增列。將下面的代碼中的'isszmv7'替換為相應(yīng)的數(shù)據(jù)庫(kù)名:
``` USE isszmv7 GO DECLARE @tablename VARCHAR(100) DECLARE test_cur CURSOR FOR SELECT object_name(id) FROM syscolumns WHERE status128 OPEN test_cur FETCH test_cur INTO @tablename WHILE @@FETCH_STATUS0 BEGIN DBCC CHECKIDENT (@tablename, RESEED) FETCH test_cur INTO @tablename END CLOSE test_cur DEALLOCATE test_cur GO ```以上就是數(shù)據(jù)庫(kù)損壞DBCC修復(fù)方法的詳細(xì)步驟。請(qǐng)按照以上順序執(zhí)行,并根據(jù)實(shí)際情況替換相應(yīng)的數(shù)據(jù)庫(kù)名。