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

当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) /*如果必要允许丢失数据修复,数据库修复需在单用户模式下进行
时间: 2024-11-22 21:54:27

MS SQL 数据库状态为SUSPECT的处理方法的相关文章

MS SQL数据库SA权限入侵的感悟

想必大家都知道MSSQL中SA权限是什么,可以说是至高无上.今天我就它的危害再谈点儿,我所讲的是配合NBSI上传功能得到WebShell.在讲之前先说几个条件,否则得到Shell是有难度的.1.存在SQL注入,并且数据库类型是MSSQL.2.连接数据库的权限必须是SA.3.后台必须有文件上传的程序.好了,我们找到一个网址hxxp://www.6x36x.com/fangchan/listpro.asp?id=53,用NBSI一会就一目了然了.很好,数据库类型是MSSQL,权限是SA,再看看第三个

通过MS SQL 数据库SA帐号增加新用户至administrators组

数据|数据库 <%'----数据库连接Start   '---二级域名名称  Main_Domain="web" '--域名格式为pcc.net  dim conn_Home  dim conn_Homestr  '定义数据库类别,1为SQL数据库,0为Access数据库  const IsSqlDataBase_Homestr = 1  call conn_Home_init()  sub conn_Home_init()     if IsSqlDataBase_Homest

如何恢复和修复MS SQL数据库的MDF文件

恢复|数据|数据库 如果备份的数据库有2个文件,分别是.LDF 和 .MDF,打开企业管理器,在实例上右击---所有任务--附加数据库,然后选择那个.MDF文件,就可以了. 或者在查询分析器中输入: sp_attach_db "数据库名称","路径\文件名.ldf","路径\文件名.MDF" SQL Server数据库备份有两种方式,一种是使用BACKUP DATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志文件ldf

MS SQL数据库的连接处理解决方案

解决|数据|数据库 情景描述:为什么打包出来的程序,客户端连接数据库总是提示连接不上数据库.只有当客户机装上SQL就可以连接了. 我在包里包进了DBmsSHRn.dll,ntwdblib.dll,DBMSSOCN.DLL,DBnetlib.dll,libjcc.dll,ntwdblib.DLL,dbmsspxn.dll,Dbnmpntw.dll,pbdwe80.dll,pbmss80.dll,pbrtc80.dll pbsyc80.dll,pbtra80.dll,pbvm80.dll,可是安装到

用企业管理器连接并管理远程MS SQL数据库

一.首先请从您的空间商处获取您的MsSql相关管理信息,如: 用户TestUser的MSSQL服务器地址:xxx.xxx.xxx.xxx 用户TestUser的MSSQL的端口为:1433 用户TestUser的MSSQL数据库名为:TestUser 用户TestUser的MSSQL用户名为:TestUser 用户TestUser的MSSQL密码为:****** (该用户个人的登录密码) 二.数据库连接步骤: 1.打开本地Sql Server企业管理器 2.鼠标右键打开Sql Server组属性

MS SQL数据库索引的应用

一.索引的概念 索引就是加快检索表中数据的方法.数据库的索引类似于书籍的索引.在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息.在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库. 二.索引的特点 1.索引可以加快数据库的检索速度 2.索引降低了数据库插入.修改.删除等维护任务的速度 3.索引创建在表上,不能创建在视图上 4.索引既可以直接创建,也可以间接创建 5.可以在优化隐藏中,使用索引 6.使用查询处理器执行SQL语句,在一个表上,一次只能使用一个索

ibatis连接MS SQL数据库问题

问题描述 java.lang.ExceptionInInitializerErrorCaused by: java.lang.RuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException: The content of element type "sqlMapConfig" i

MS SQL 迁移数据库文件

MS SQL 数据库迁移文件,这里说的不是将数据库迁移到另外一台服务器,只是在服务器不同磁盘目录内做迁移.移动数据库文件的情况大致有下面一些: 1: 事先没有规划好,数据库文件或日志文件增长过快,导致某个盘或整个磁盘空间不足,需要移动数据文件或日志文件 2: 纯粹由于业务需求,数据增长过快. 3: 为了更好的IO的性能,需要将数据文件.日志文件分布到不同磁盘,减轻IO压力,提供IO性能. 4:故障恢复.例如,数据库处于可疑模式或因硬件故障而关闭. 案例:现在我在数据库实例中有数据库MyAssis

如何把ACCESS转成SQL数据库

access|sql|数据|数据库 很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---将ACCESS转化成SQL2000的方法和注意事项 一,首先,我说的是在ACCESS2000,SQL2000之间转换,其他的我也还没有尝试过,希望大家多多试验,肯定是有办法的: 二,转换的方法 1,打开"控制面板"下"管理工具"中的"数据库源": 2,按"添加&q