|
发表于 2010-5-28 09:29:20
|
显示全部楼层
可能是数据库有些表损坏,硬盘有坏道引起,用下面语句回复后,最好检查下硬盘,重建数据库把数据复制过去
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
PS:此步骤未通过,执行'allow updates',1报错,跳过;
F.设置test为紧急修复模式
update sysdatabases set status=-32768 where dbid=DB_ID('test')
此时可以在SQL Server Enterprise Manager里面看到该数据库为“紧急模式”。
G.下面执行真正的恢复操作,重建数据库日志文件
dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')
H.验证数据库一致性(可省略)
dbcc checkdb('test')
PS:执行后出现错误,果然在导入数据表部分出错;
一般执行结果如下:
CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 'test' 中)。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
I.设置数据库为正常状态
sp_dboption 'test','dbo use only','false'
J.最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在SQL Server Enterprise Manager里面恢复,也可以使用如下语句完成
sp_configure 'allow updates',0
go
reconfigure with override |
|