五通学院

MS SQL Server 数据库状态为SUSPECT的处理方法

admin 2017-04-22 09:09:07 人评论 次浏览分类:系统综合

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

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

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

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

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

Code Snippet
  1. DBCC CHECKDB('DBName',  REPAIR_FAST);
  2.        
  3. DBCC CHECKDB('DBName',  REPAIR_REBUILD);
  4.        
  5. DBCC CHECKDB('DBName',  REPAIR_ALLOW_DATA_LOSS);

 

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

Code Snippet


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


1. 关掉所有能访问数据库的程序, 比如iis和windows服务. 保证不会有连接请求 数据库
    ALTER DATABASE nopapp SET EMERGENCY .设置紧急模式
2. 用sp_who2查看连接, 用kill {pid} 杀死连接
3. 切到单用户下.

4. dbcc 修复数据

5. 切到多用户或者先重启数据库实例再切.
6. ALTER DATABASE nopapp SET ONLINE;

五通软件商城官方微信公众号

相关教程
    暂无相关...
网友评论
    暂无评论...

栏目类别