1、开启数据库
2、从企业管理器,建一个同名的数据库
3、停止 sql server
4、用原 mdf 文件覆盖新建库的数据库文件
5、重启 sql server(这时数据库应该是置疑)
6、修改服务器设置:允许对系统目录进行直接修改
sp_configure 'allow updates',1 reconfigure with override
7、将数据库置为紧急状态:
update master.dbo.sysdatabases set status = 32768 where name = '数据库名'
8、删除新的 ldf 文件,重建日志:
dbcc rebuild_log('数据库名', 'f:\数据库名_log_new.ldf')--假设把新日志在 f 盘
9、update master.dbo.sysdatabases set status = 16 where name = '数据库名'
10、修改服务器设置:取消 允许对系统目录进行直接修改
sp_configure 'allow updates', 0 reconfigure with override
11、再使用检查工具修复错误
use [数据库名]
alter database [数据库名] set single_user with rollback immediate
dbcc checkdb ('数据库名',REPAIR_ALLOW_DATA_LOSS)
alter database [数据库名] set multi_user
执行完毕之后,如果还有错误,重复执行 11,直到没有错误为止。