sql server 2008 資料庫可疑的解決步驟
備份並新建同名數據庫,並替換原資料檔案
1 把問題資料庫備份後直接刪除
停掉SQLSERVER服務,把伺服器上出問題的資料庫, 假設名稱為 test的資料庫檔案及日誌檔案備份到其他目錄,然後直接將其刪除,把其資料庫檔案及日誌檔案也刪除
2 新建同名數據庫
啟動SQLSERVER服務,新建同名數據庫test,檔案目錄和日誌和原來一致
3 用備份的資料庫檔案替換新的資料庫檔案
停掉SQLSERVER服務,把備份的資料庫檔案替換新的資料庫檔案(只替換資料庫檔案,不替換日誌檔案)
啟動SQLSERVER服務,開啟資料庫,這時資料庫應該是不能訪問的
-------------------設定應急模式、單使用者模式、檢查修復資料,取消單使用者模式----------------------
4 將資料庫設定為應急狀態
alter database test set emergency
執行後,為了保險起見,重新停止、開啟的SQLSERVER服務
再開啟資料庫,已經可以看到裡面的內容了,如表,檢視,儲存過程等
資料庫名稱後有緊急標誌,能看到資料庫結構,但無法進行備份等操作
5 將資料庫設定為單使用者模式
ALTER DATABASE test SET SINGLE_USER
6 對資料庫進行檢查修復
dbcc checkdb(test,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(test,REPAIR_REBUILD)
操作後,仍然停止啟動SQLSERVER服務(不確定是否需要,我只是為了想無干擾檢視執行後的資料庫狀況)
重新開啟資料庫,已經是正常狀態了,沒有應急提示了
7 取消單使用者模式
exec sp_dboption test, N'single', N'false'
至此,資料庫恢復完畢,對資料庫進行BAK