您的位置:   主页 > 技术文章

sql数据库823错误dbcc语句修复方法

时间:2011-01-27 13:08来源:青岛数据恢复 作者:青岛四通数据恢复公司 点击:444次




 

1.首先确认已经备份了.mdf和.ldf文件。

然后停止SQLServer服务。 2.SQLServer中新建一个同名的数据库。

3.用原有的.mdf和.ldf文件覆盖新建数据库对应的.mdf和.ldf文件。

新建登陆用户。

4.重新启动SQLServer服务。这个时候数据库就已经恢复正常了上次xrf数据库就是这样被我恢复的人品不好的话,这是应该会看到这个数据库处于置疑(Suspect状态。人品好的话。下面的方法也不行,有一次就是找了一个北京做数据恢复的公司才恢复完毕。

以允许更新系统表: 5.SQL查询分析器中执行以下命令。

usemaster

go

sp_configurallowupdat.1

reconfigurwithoverride

go

6.将这个数据库置为紧急模式:

updatsysdatabassetstatu=32768wherename='db_name'

go

7.使用DBCCCHECKDB命令检查数据库中的错误:

DBCCCHECKDBdb_name

GO

8.如果DBCCCHECKDB命令失败。否则先将数据库置为单用户模式,请转至第10步。再尝试对其进行修复:

sp_dboption'db_name'.true singluser.

REPA IR_A LLOW_DA TA _LOSS DBCCCHECKDBdb_name.

GO

然后继续尝试。如果在执行DBCCCHECKDBdb_name,则重新启动SQLServer服务。REPA IR_A LLOW_DA TA _LOSS命令时提示说数据库未处于单用户模式状态的话。

否则若成功修复了数据库中的错误: 9.如果DBCCCHECKDBdb_name,请转至第10步。REPA IR_A LLOW_DA TA _LOSS命令失败。

确认数据库中已没有错误存在重新执行DBCCCHECKDBdb_name命令。

清除数据库的置疑状态:sp_resetstatu'db_name'

清除数据库的单用户模式状态:sp_dboption'db_name'.fals singluser.

重新启动SQLServer服务。则数据库已经胜利恢复。如果一切正常的话。

请参考附件中的文档尝试通过重建事务日志来恢复数据库中的数据。 10.如果以上方法都不能解决问题的话。

如果您只有MDF文件。需要直接重建事务日志了问题就更加复杂一些。:

然后停止SQLServer服务。 1.SQLServer中新建一个同名的数据库。

将其日志文件(.ldf删除。 2.用原有的ldf文件覆盖新建数据库对应的.mdf文件。

并将数据库置为紧急模式(同上:方法5和步骤6 3.启动SQLServer服务。

4.停止偏重新启动SQLServer服务。

您要用您实际的数据库名) 5.执行以下命令重建数据库日志文件:下面是个示例。

'D:\cas_db\cas_db_Log.LDF' DBCCREBUILD_LOGcas_db.

6.重新将该数据库置为单用户模式。

7.再次尝试使用DBCCCHECKTA BLE或DBCCCHECKDB命令检查并修复数据库中的错误

 

mdf

ldf

单用户模式

数据库中

命令

日志文件

杂谈

分类:编程日记(C系列)积累点点滴滴