在被设置为“可疑”后很纳闷,之前没有遇到此类情况,问了几个前辈依然未找到问题所在。最后还是解决了,现在给大家分享我的解决办法: 首先,不能使得数据库脱机、分离等操作,在这种情况下,数据库不能惊醒备份的。如果你真的使得数据库脱机,就再也没有办法解决了。我也干过这件傻事,千万不能重蹈覆辙哦。(切记!切记!) 其次,执行下列代码,将MyDB换成你自己的数据库。 USE MASTER GO SP_CONFIGURE ‘ALLOW UPDATES’,1 RECONFIGURE WITH OVERRIDE GO ALTER DATABASE MyDB SET EMERGENCY GO sp_dboption ‘MyDB’, ‘single user’, ‘true’ GO DBCC CHECKDB(‘MyDB’,’REPAIR_ALLOW_DATA_LOSS’) GO ALTER DATABASE MyDB SET ONLINE GO sp_configure ‘allow updates’, 0 reconfigure with override GO sp_dboption ‘MyDB’, ‘single user’, ‘false’ GO 接着,尽管这样能够使得数据库恢复正常,至少可以让对数据库进行操作。包括查询、更新等。但是这并没有真正的解决问题,只是修改了数据库的“可疑”状态。 下面就要找具体问题所在,发生这种情况的缘由很多,或是数据库操作、或是触发器、存储过程、索引、日志。 如果你的数据库不是很大,其间的数据不多,希望能够重新建立数据库,然后再导入数据。 如果很大,而且很重要不能及时更新的话,希望大家搜索一下数据库或者系统、应用程序的日志,看一下日志记录,或许你会发现一些可疑的苗头。 最后,发现数据库在记录日志的时候出现了问题,建议删除久的日志文件(当然主日志文件是不能删除的),你可以添加新的日志文件。并检查数据库、日志的自增长是否正常。 转自:http://solin.cn.blog.163.com/blog/static/53640237200991521229795/ 方法二: 问题背景: 日常对Sql Server 2005关系数据库进行操作时,有时对数据库(如:Sharepoint网站配置数据库名Sharepoint_Config)进行些不正常操作如数据库在读写时而无故停止数据库,从而导致Sql Server 2005数据库不正常中断,当再次打开数据库时会发现某些数据库会被标记为“可疑”(suspect),即在数据库名旁加上了黄色的惊叹号,这时数据库就不能再被打开了,但数据库的结构及数据内容都还是存在的。 解决方法: 当数据库发生这种操作故障时,可以按如下操作步骤可解决此方法,打开数据库里的Sql 查询编辑器窗口,运行以下的命令。 1、修改数据库为紧急模式 ALTER DATABASE Sharepoint_Config SET EMERGENCY 2、使数据库变为单用户模式 ALTER DATABASE Sharepoint_Config SET SINGLE_USER 3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。 DBCC CheckDB (Sharepoint_Config , REPAIR_ALLOW_DATA_LOSS) 4、使数据库变回为多用户模式 ALTER DATABASE Sharepoint_Config SET MULTI_USER 5、开始->运行->输入cmd->打开DOS命令窗口,输入以下命令重启数据库服务 Net stop mssqlserver –停止服务 Net start mssqlserver –启动服务 再次,打开Sql Server 2005时被标记为“可疑”的数据库已恢复正常状态。 (责任编辑:IT) |