第一步、數(shù)據(jù)恢復
1、 停止服務,將置疑的原數(shù)據(jù)庫物理文件做好備份。
2、 啟動服務,新建賬套
3、 停止服務,修改原置疑數(shù)物理文件數(shù)據(jù)庫名稱,跟新建賬套物理文件名稱相同
4、 用原置疑數(shù)據(jù)庫物理文件覆蓋替換新建賬套數(shù)據(jù)庫物理文件
第二步、修復置疑
將下面數(shù)據(jù)庫名稱替換為實際的置疑的數(shù)據(jù)庫物理文件名稱,可通過下面的方法修復置疑。
重建日志文件之前,需要將已有的日志文件刪除。
alter 數(shù)據(jù)庫名稱 set
go
alter 數(shù)據(jù)庫名稱 set with
go
use
go
alter 數(shù)據(jù)庫名稱 Log on
(name=置疑數(shù)據(jù)庫_log,='F:\XXX\XXX\XXX\data\置疑數(shù)據(jù)庫名稱_log.LDF')
go
alter 數(shù)據(jù)庫名稱 set
go
如果沒有數(shù)據(jù)庫置疑的情況,直接進入第三步。
第三步、數(shù)據(jù)檢測
賬套還原后,可以使用如下語句,檢測數(shù)據(jù)庫中是否存在分配性錯誤或一致性錯誤。
Dbcc (’數(shù)據(jù)庫名稱’)
第四步、數(shù)據(jù)修復
如果檢測到數(shù)據(jù)庫存在一致性錯誤,則按照下面的步驟進行修復。
l 首先將數(shù)據(jù)庫置為單用戶模式。
alter 數(shù)據(jù)庫名稱set
通過在企業(yè)管理器中手工修改,具體操作:
找到賬套庫,右鍵【屬性】——【選項】,然后將【限制訪問】修改為單用戶模式sql2000數(shù)據(jù)庫不能還原,修改為。
嘗試使用帶參數(shù)修復數(shù)據(jù),查看修復情況,并重新檢測數(shù)據(jù)是否修復成功。
dbcc ('數(shù)據(jù)庫名稱',)
dbcc ('數(shù)據(jù)庫名稱',ss)
先用第一條腳本進行修復,反復修復直到檢測結(jié)果沒有一致性錯誤為止;如果反復修復后還是有一致性錯誤sql2000數(shù)據(jù)庫不能還原,可使用第二條腳本進行修復,重復上面的操作。
注意:第二條腳本,是低級別的數(shù)據(jù)修復,有可能會造成數(shù)據(jù)丟失,在修復的時候一定要提前跟伙伴做好溝通。
嘗試使用帶參數(shù)修復數(shù)據(jù),查看修復情況,并重新檢測數(shù)據(jù)是否修復成功。
如果出現(xiàn)紅色提示:索引ID錯誤,這種一般是表損壞,可以看下紅字下面的提示,有對應的問題表的提示,如問題表
則可以直接執(zhí)行表修復語句:
dbcc (’有問題的表名‘)
修復完后再重新檢測一下,看是否還有問題,如果有的話,重復上面的操作。
修復完畢后,將數(shù)據(jù)庫改回正常模式。
alter 數(shù)據(jù)庫名稱 set