SQL Server 2008 R2中 某XX数据库 的事务日志已满 请参阅 sys.databases 中的 log_reuse_wait_desc 列

时间:2021-10-06 21:51:01
        

   碰到此类问题首先想到的就是日志空间问题以及磁盘问题,具体排查总结如下:


第一: 排查当前数据库日志文件增长方式,确认是否做了相应的限制;


第二:检查数据库当前恢复模式 (完全、简单、大容量日志);


第三:排查当前数据库日志文件所保存 的磁盘空间是否足够;


第四: 如果数据库是当前模式是完整或者大容量日志模式,磁盘空间充裕,而日志做了相应的限制,建议如下:

将建议直接去掉限制或者直接进行日志收缩:

USE DBNAME;

GO

ALTER DATABASE DBNAMESET RECOVERY SIMPLE;

GO

DBCC SHRINKFILE (DBNAME_Log, 1); GO

ALTER DATABASE DBNAMESET RECOVERY FULL; GO

注意
在SQL server 008  下BACKUP LOG WITH NO_LOG 和 WITH TRUNCATE_ONLY 选项已废止。使用完整恢复模式或大容量日志恢复模式时,如果必须删除数据库中的日志备份链,请切换至简单恢复模式。有关详细信息,请参阅有关从完整恢复模 式或大容量日志恢复模式切换的注意事项。