使用dbcc语句修复sql置疑数据库文件
1RECONFIGUREWITHOVERRIDE
0reconfigurwithoverrid
这里是最好的恢复。上面的语句基本可以满足 MDF没有损坏。
假如MDF有损坏。数据库无法完整修复里可以考虑允许丢失数据修复,并且做DBCC里有N多错误。方法如下
declar@databasenamvarchar255
set@databasename='要恢复的数据库名称'
execsp_dboption@databasename.N'true'--将目标数据库置为单用户状态 N'single'.
REPA IR_A LLOW_DA TA _LOSS dbcccheckdb@databasename.
REPA IR_REBUILD dbcccheckdb@databasename.
execsp_dboption@databasename.N'false'--将目标数据库置为多用户状态 N'single'.
如果顺利的话。以上搞完之后DBCC还是出现错误,应该能解决问题。如果运气实在不好。那可以用终极办法
具体方法如下对表做允许数据丢失的修复。
declar@databasenamvarchar255
set@databasename='要恢复的数据库名称'
execsp_dboption@databasename.N'true'--将目标数据库置为单用户状态 N'single'.
REPA IR_A LLOW_DA TA _LOSSexec
企业管理器--右键你数据库--所有任务--导出数据
--目标标数据库选择新建
--选择"两个sql数据库之间复制对象和数据"
其他根据需要选择 --把"包括扩展属性"选上.
--最后完成
哈哈.就直接把那MDF扔到回收站算了如果还有问题..
大致有这么几种这几步一般会出现各种各样的问题.
出现这样问题的解决:将数据库分离后再附加(或者重启数据库服务)
1查询分析器里执行如下语句
sp_configur'allowupdates'.1
go
reconfigurwithoverride
go
usmaster
go
updsysdatabassetstatu=32768
wherename='UFDA TA _003_2006'
go
sp_configur'allowupdates'.0
go
reconfigurwithoverride
2再在查询分析器里执行如下语句
usemaster
'日志物理路径'--重建日志 dbccrebuild_log'数据库名'.
sql数据库恢复
大体思路是这样的 1重建日志 便看到这个数据库处于置疑状态。 2消除置疑状态 |