SQL Server 2000報錯“SUSPECT-可疑“的處理過程

一、問題描述
    連接數據庫(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')

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章