SqlServer2005数据库文件损坏的拯救过程

时间:2022-04-23
本文章向大家介绍SqlServer2005数据库文件损坏的拯救过程,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

客服人员找我,说用户的数据库不小心搞坏了(具体怎么坏的暂不追究),我到现场观看现象,发现以前在SqlServer2000时很多人都遇见过,于是寻找了几篇解决办法的文章,一步一步操作:

1. 新建一个test数据库

2. 停止SqlServer服务

3. 用损坏的数据库文件和日志文件覆盖该数据库的数据库文件和日志文件

4. 启动SqlServer服务,发现和以前一样处于“可疑”状态

5. 于是想如果将其设置为“紧急”状态可以对数据库只读访问就应该差不多了。再

SqlServer2000

update sysdatabases set status=-32768 where dbid=DB_ID('test')

SqlServer2005

用上面的语句会提示“不允许修改系统目录” alter database test set emergency

6. 用 DBCC CHECKDB检查数据库的完整性

7. 将数据库配置为正常状态

参阅资料:

参考Code

use master



go



sp_configure 'allow updates',1



go 



reconfigure with override



go



select * from sysdatabases --



alter database test set emergency;



select * from a01



use test



go



ALTER DATABASE test SET SINGLE_USER



DBCC CHECKDB (test, repair_allow_data_loss) with NO_INFOMSGS



go



ALTER DATABASE test2 SET MULTI_USER



go



dbcc rebuild_log('test','e:"test_log.ldf')