在修复数据库的操作中经常需要重建日志,但是SQL的联机丛书里却没有对应的具体描述,现总结如下:

1、把数据库改成紧急模式:(可用如下语句)
sp_configure 'allow', 1--设置系统库可以修改
reconfigure with override
update sysdatabases set status = 32768 where name = '数据库名';

2、停止SQLSERVER的服务,然后把原日志文件(*.LDF)文件改名;

3、启动SQLSERVER的服务;

4、执行如下DBCC语句重建数据库日志:
DBCC REBUILD_LOG ('数据库名', 'E:\fdzz\database\newfilename.LDF' );
--如果成功,日志重建完成

5、恢复数据库紧急模式(可用如下语句):
update sysdatabases set status = 0 where name = '数据库名'
restore database 数据库名 WITH RECOVERY
sp_configure 'allow', 0--设置系统库不能修改
reconfigure with override

6、检查数据库是否有损坏DBCC CHECKDB