MS SQL 数据库状态为SUSPECT(可疑)的处理方法

时间:2024-02-19 18:02:08

原文出处:http://www.cnblogs.com/kerrycode/archive/2013/06/10/3131360.html

 

当SQL SERVER数据库状态为质疑(SUSPECT)状态时,我们可以用以下方法来处理:

1. 修改数据库为紧急模式:ALTER DATABASE DBName SET EMERGENCY .

2. 检查数据库的完整性:DBCC  CHECKDB(‘DBName’)

3. 检查没有错误则恢复数据库为正常模式:ALTER DATABASE  DBName SET ONLINE;

4  如检查数据库有错误则修改数据库为单用户模式,依情况选择以下命令行进行修复数据;

Code Snippet
DBCC CHECKDB(\'DBName\', REPAIR_FAST); DBCC CHECKDB(\'DBName\', REPAIR_REBUILD); DBCC CHECKDB(\'DBName\', REPAIR_ALLOW_DATA_LOSS);

修复完成后将数据库改为正常模式,重启SQL服务或重启服务器。

 1 Code Snippet
 2    ALTER DATABASE DBName SET EMERGENCY       /* 修改数据库为紧急模式*/
 3    ALTER DATABASE DBName SET SINGLE_USER      /* 修改数据库为单用户模式*/
 4    ALTER DATABASE DBName SET MULTI_USER       /* 修改数据库为多用户模式*/
 5    ALTER DATABASE DBName SET ONLINE           /* 数据库从紧急&单用户&多用户模式恢复为正常模式*/
 6  
 7    DBCC CHECKDB(\'DBName\')                     /* 检查数据库完整性*/
 8    DBCC CHECKDB(\'DBName\', REPAIR_FAST)        /* 快速修复数据库*/
 9    DBCC CHECKDB(\'DBName\', REPAIR_REBUILD)     /* 重建索引并修复*/
10    DBCC CHECKDB(\'DBName\', REPAIR_ALLOW_DATA_LOSS) /*如果必要允许丢失数据修复,数据库修复需在单用户模式下进行