msssql数据库出现可疑、置疑(SUSPECT)的处理办法
修复前先停服务,备份原始文件。个人测试SQL2005下修复正常,理论2008或其它版本也可以尝试。(代码不区分大小写)
备注:数据库修复方法不能保证数据不丢失,如果数据非常重要,请寻找专业数据库恢复公司进行恢复,可以尽量减少数据的丢失。
1.将可疑、置疑的数据库修改为紧急状态,以错误的数据库yld-tp为例,执行下面的语句,注意执行时不可选择错误的这个数据库,要选择Master或者其他的数据库;
ALTER DATABASE "yld-tp" SET EMERGENCY
2.在执行完上面的语句后,yld-tp这个数据库就会变成红色紧急状态,这个时候一般就已经可以看到数据库的结构,查看到数据库的表等数据,接下来就要对数据库进行一些修复操作了
ALTER DATABASE "yld-tp" SET SINGLE_USER----修改数据库为单用户模式
DBCC CheckDB ("yld-tp",REPAIR_ALLOW_DATA_LOSS) ----修复数据库
DBCC CheckDB ("yld-tp",REPAIR_REBUILD)----重建
ALTER DATABASE "yld-tp" SET MULTI_USER ----恢复多用户
3.在执行完上面的语句之后,一般数据库就恢复了,如果数据库还是显示红色的话就说明数据库还是在紧急状态,需要恢复成Online状态:
ALTER DATABASE "yld-tp" SET ONLINE
4.下面就是检查下数据库里丢失了哪些数据了,另外数据恢复后建议换个新库使用,不要再使用原来修复好的数据库。 现在2005 2008 不是 比较少坏了? 最近正好遇到了,还用这个方法处理了下。不过有部分数据还是丢了,并且也没找回。
页:
[1]