SQL2005數(shù)據(jù)庫(kù)無(wú)法附加或出現(xiàn)置疑時(shí)的修復(fù)方法
文章出處:http://hlpi.cn 作者:興邦開(kāi)發(fā)部
注:本實(shí)例以zxk數(shù)據(jù)庫(kù)被置疑做演示,,
1、停止數(shù)據(jù)庫(kù)服務(wù):打開(kāi)SQL2005企業(yè)管理器,,在服務(wù)器上點(diǎn)擊鼠標(biāo)右鍵,,然后用左鍵點(diǎn)擊“停止”菜單,停止SQL Server服務(wù)
2,、數(shù)據(jù)庫(kù)備份:將原數(shù)據(jù)庫(kù)zxk文件拷貝至其它盤符進(jìn)行備份,。如:將“D:\data”目錄下的*.mdf和*.ldf拷貝至E盤或者直接將D盤下的data文件夾拷貝至E盤。
3,、重啟數(shù)據(jù)庫(kù)服務(wù):在服務(wù)器上點(diǎn)擊鼠標(biāo)右鍵,,然后用左鍵點(diǎn)擊“啟動(dòng)”菜單,,重新啟動(dòng)SQL Server服務(wù)
5、新建數(shù)據(jù)庫(kù):鼠標(biāo)右擊數(shù)據(jù)庫(kù)在彈出的菜單中選擇“新建數(shù)據(jù)庫(kù)”,,新建一個(gè)任意名稱的數(shù)據(jù)庫(kù)如JYPACS_US
6、替換數(shù)據(jù)庫(kù)文件:先停止數(shù)據(jù)庫(kù)服務(wù)(方法見(jiàn)步驟1),,然后將E盤備份的數(shù)據(jù)庫(kù)zxk原文件修改成JYPACS_US數(shù)據(jù)庫(kù)名稱,,并復(fù)制粘貼至原目錄下替換新文件。如:將“E:\data”目錄下的*.mdf和*.ldf文件復(fù)制粘貼至“D:\data”目錄下替換,。
7,、重啟數(shù)據(jù)庫(kù)服務(wù):重啟SQL Server服務(wù)(方法見(jiàn)步驟3),,,然后刷新數(shù)據(jù)庫(kù),,此時(shí)可見(jiàn)數(shù)據(jù)庫(kù)處于可疑或無(wú)法使用的狀態(tài)。
8,、設(shè)置緊急狀態(tài):在可疑的數(shù)據(jù)庫(kù)上點(diǎn)擊右鍵,,然后用左鍵選擇“新建查詢”菜單,打開(kāi)SQL Server的查詢分析器,,在命令串口中輸入
alter database jypacs_us set emergency
然后按F5鍵或者點(diǎn)擊執(zhí)行按鈕,,將數(shù)據(jù)庫(kù)置為可疑模式。
9,、設(shè)置單用戶模式:將SQL語(yǔ)句修改為
alter database jypacs_us set single_user
然后執(zhí)行命令,,將數(shù)據(jù)庫(kù)置為單用戶模式。
10,、重建日志:清空命令窗口,,然后輸入
dbcc checkdb('jypacs_us',REPAIR_ALLOW_DATA_LOSS)
這個(gè)時(shí)間比較長(zhǎng)。耐心等待,!
如果有錯(cuò)誤提示,,再運(yùn)行:
dbcc checkdb('jypacs_us',REPAIR_REBUILD)
進(jìn)行修復(fù)。如果沒(méi)有錯(cuò)誤,,可以跳過(guò),。
11、恢復(fù)多用戶模式:清空命令窗口然后輸入
alter database jypacs_us set multi_user
并執(zhí)行,,將數(shù)據(jù)庫(kù)恢復(fù)為多用戶模式,。
刷新數(shù)據(jù)庫(kù),此時(shí)會(huì)看到數(shù)據(jù)庫(kù)已恢復(fù)正常,。這時(shí)候數(shù)據(jù)庫(kù)JYPACS_US中的數(shù)據(jù)基本上和被質(zhì)疑中心庫(kù)中的數(shù)據(jù)基本一致,,但不排除數(shù)據(jù)丟失,在使用前一定要核對(duì)下數(shù)據(jù)庫(kù)中相應(yīng)的數(shù)據(jù),。無(wú)誤后可以將JYPACS_US代替中心庫(kù)zxk使用