sql server 2008 r2 数据库操作时提示 9002错误“事物日志已满”问题

时间:2023-03-29 15:01:50

事务日志截断

若要避免数据库的事务日志被填满,例行备份至关重要。在简单恢复模式下,备份了数据库后会自动截断日志,而在完整恢复模式下,只有备份了事务日志后方才截断日志。但是,截断过程有时也可能发生延迟。有关识别和应对各种延迟因素的信息,请参阅可能延迟日志截断的因素。

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

有关常规日志截断的详细信息,请参阅事务日志截断。

http://msdn.microsoft.com/zh-cn/library/ms186865.aspx 
 
liyihongcug
 
SQL SERVER 2008 中 BACKUP LOG WITH TRUNCATE_ONLY 已不再被支持,要收缩数据库日志,首先需要通过将数据库恢复模式设置为 SIMPLE 来截断该文件。

--修改事物日志为简单恢复模式,在简单恢复模式下,备份了数据库后会自动截断日志,而在完整恢复模式下,只有备份了事务日志后方才截断日志
ALTER DATABASE 数据库名 SET RECOVERY SIMPLE;
--收缩截断日志文件1MB
DBCC SHRINKFILE (数据库名_Log, 1); 
--修改事物日志为完整恢复模式
ALTER DATABASE 数据库名 SET RECOVERY FULL;