我们一步一步详述解决SQL Server2K数据库置疑,介绍其解决方法:
首先我们分离数据库:
企业管理器--右键suspect的数据库--所有任务--分离数据库
然后备份你的suspect数据库的文件,再按下面的步骤处理:
1.新建一个同名的数据库
2.再停掉sql server
3.用suspect数据库的文件覆盖掉这个新建的同名数据库
4.再重启sql server
5.此时打开企业管理器时新建的同名数据库会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='HIS222'
Go
SP_DBOPTION 'TEST', 'SINGLE USER', 'TRUE'
Go
DBCC CHECKDB('test')
Go
UPDATE SYSDATABASES SET STATUS =28 WHERE NAME='TEST'
Go
SP_CONFIGURE 'ALLOW UPDATES', 0 RECONFIGURE WITH OVERRIDE
Go
SP_DBOPTION 'TEST', 'SINGLE USER', 'FALSE'
Go
6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还有问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了。
如果这样改不加数据库状态,你就把数据库导成一个新库来代替旧库吧:
企业管理器--右键你的数据库--所有任务--导出数据
--目标标数据库选择新建
--选择"在两个sql数据库之间复制对象和数据"
--把"包含扩展属性"选上,其他的根据需要选择
--最后完成
然后备份你的suspect数据库的文件,再按下面的步骤处理:
1.新建一个同名的数据库
2.再停掉sql server
3.用suspect数据库的文件覆盖掉这个新建的同名数据库
4.再重启sql server
5.此时打开企业管理器时新建的同名数据库会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='HIS222'
Go
SP_DBOPTION 'TEST', 'SINGLE USER', 'TRUE'
Go
DBCC CHECKDB('test')
Go
UPDATE SYSDATABASES SET STATUS =28 WHERE NAME='TEST'
Go
SP_CONFIGURE 'ALLOW UPDATES', 0 RECONFIGURE WITH OVERRIDE
Go
SP_DBOPTION 'TEST', 'SINGLE USER', 'FALSE'
Go
6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还有问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了。
如果这样改不加数据库状态,你就把数据库导成一个新库来代替旧库吧:
企业管理器--右键你的数据库--所有任务--导出数据
--目标标数据库选择新建
--选择"在两个sql数据库之间复制对象和数据"
--把"包含扩展属性"选上,其他的根据需要选择
--最后完成
===================================================
全文完!
本文转自redking51CTO博客,原文链接:http://blog.51cto.com/redking/19028,如需转载请自行联系原作者