一、問題描述
連接數據庫(HBNX_MCC_DEV和HBNX_MCC_UAT)時,報錯“SUSPECT”(數據庫“可疑”,外界無法使用)。
二、問題原因
服務器意外down機,導致有連接未斷開的數據庫狀態變爲“可疑”。
三、問題解決
由於沒有前一天的備份文件,所以需要找回數據庫的數據!
1、開通系統表修改權限
sp_configure 'allow updates', 1;
reconfigure with override;
2、將數據庫狀態設置爲-32768(只讀\脫機\緊急模式)
update sysdatabases set status = -32768 where name in ('HBNX_MCC_DEV','HBNX_MCC_UAT')
3、新建數據庫HBNX_MCC_DEV_20190121和HBNX_MCC_UAT_20190121
4、找一份原來的備份文件,進行數據庫還原(獲取表結構、索引、觸發器和存儲過程等)
--在HBNX_MCC_DEV_20190121上使用HBNX_MCC_DEV的老備份文件進行還原操作
--在HBNX_MCC_UAT_20190121上使用HBNX_MCC_UAT的老備份文件進行還原操作
5、只讀模式下無法備份,可以使用“DTS導出”數據,但是DTS不能導出索引、觸發器和存儲過程等,所以有上一步的還原操作
--使用DTS將HBNX_MCC_DEV中的數據導出到HBNX_MCC_DEV_20190121
--使用DTS將HBNX_MCC_UAT中的數據導出到HBNX_MCC_UAT_20190121
6、恢復原數據庫狀態(將出問題的數據庫狀態改爲0-正常,如果一直處於“緊急模式”,可能會對其他數據庫操作有影響)
update sysdatabases set status = 0 where name in ('HBNX_MCC_DEV','HBNX_MCC_UAT')
7、關閉系統表修改權限
sp_configure 'allow updates', 0;
reconfigure with override;
四、附錄
1、查詢數據庫當前狀態參數
select * from sysdatabases where name = 'HBNX_MCC_DEV'
2、檢查並處理數據庫1
dbcc checkdb('HBNX_MCC_DEV')
3、檢查並處理數據庫2
dbcc checkalloc('HBNX_MCC_DEV')
SQL Server 2000報錯“SUSPECT-可疑“的處理過程
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.