Sql Server 2005/2008数据库被标记为可疑的解决办法
 


  日常对Sql Server 2005关系数据库进行操作时,有时对数据库(网站配置数据库名34514CN)进行些不正常操作如数据库在读写时而无故停止数据库,从而导致Sql Server 2005数据库不正常中断,当再次打开数据库时会发现某些数据库会被标记为"可疑"(suspect),即在数据库名旁加上了黄色的惊叹号,这时数据库就不能再被打开了,但数据库的结构及数据内容都还是存在的.

  解决方法:

  当数据库发生这种操作故障时,按如下操作步骤可解决此问题,打开数据库里的Sql 查询编辑器窗口,运行以下的命令.

  1、修改数据库为紧急模式

   ALTER DATABASE 34514CN SET EMERGENCY

  2、使数据库变为单用户模式

  ALTER DATABASE 34514CN SET SINGLE_USER

  3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误.当您指定"REPAIR_ALLOW_DATA_LOSS"作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误.但是,这些修复可能会导致一些数据丢失.

  DBCC CheckDB (34514CN , REPAIR_ALLOW_DATA_LOSS)

命令执行完成后可能会出现以下警告:

  警告: 数据库 '34514CN' 的日志已重新生成.已失去事务的一致性.RESTORE 链已断开,服务器不再有以前的日志文件的上下文,因此您需要了解它们的内容.应运行 DBCC CHECKDB 验证物理一致性.数据库已置于 dbo-only 模式.在准备使数据库可用时,需要重置数据库选项,并删除所有多余的日志文件.

  此时可以不用理会此警告,关闭Microsoft SQL Server Management Studio.

  4、重新打开Microsoft SQL Server Management Studio,使数据库变回为多用户模式

  ALTER DATABASE 34514CN SET MULTI_USER

  5、开始->运行->输入cmd->打开DOS命令窗口,输入以下命令重启数据库服务

  Net stop mssqlserver --停止服务

  Net start mssqlserver --启动服务

  再次,打开Sql Server 2005时被标记为"可疑"的数据库已恢复正常状态.




也许下面的会对您有所帮助:

关于SQL Server数据体系和应用程序逻辑详解?
http://www.34514.cn/style/info/shownews.asp?id=515

SQL Server数据库超级管理员帐号的安全意识?
http://www.34514.cn/style/info/shownews.asp?id=502

关于MSSQL2000数据库文件*.MDF文件恢复方法?
http://www.34514.cn/style/info/shownews.asp?id=443