今天一个客户来电话的MSSQL数据库质疑了,不知道怎么解决了,结合百度,GOOGLE的结果,做了个很简单的操作就恢复了,步骤如 下:
1、停止数据库删除数据库对应的日志文件
2、修改服务器设允许直接操作MSSQL系统表(以在 SQL Server Enterprise Manager里面选择数据库服 务器,按右键,选择"属性",在"服务器设置"页面中将"允许对系统 目录直接修改"一项。也可以 使用如下语句来实现。
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
3、设置数据库为紧急模式, 此模式可以看到表里面的内容也可以直接在紧急情况下吧数据库复制走,但是有一点,复制走不带存储过程。命令如下:
update sysdatabases set status=-32768 where dbid=DB_ID(' 数据库名')
4、下面执行真正的恢复*作,重建数据库日志文件
dbcc rebuild_log('test','C:/Program Files /Microsoft SQL Server/MSSQL/Data/test_log.ldf')(根据自己的实际情况修改路径与日志文件名)
5、 验证数据库一致性(可省略)
dbcc checkdb('test')
6、设置数据库为正常状态
sp_dboption 'test','dbo use only','false'
如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。
7、最后一步,我们要将步骤E中设置的"允许对系统目录直 接修改"一项恢复。因为平时直接*作系统表
是一件比较危险的事情。当然,我们可以在 SQL Server Enterprise Manager里面恢复,也可以使用
如下语句完成
sp_configure 'allow updates',0
go
reconfigure with override
go