SQL Server 2000报错“SUSPECT-可疑“的处理过程

时间:2019-01-21
本文章向大家介绍SQL Server 2000报错“SUSPECT-可疑“的处理过程,主要包括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')