SQL 2008R2 日志文件过大,且收缩无效,
近期发现,数据库的日志文件过大,已达30G。将数据库恢复模式设置为“简单”,再收缩文件-日志,发现无效。
判断原因:数据库搭建了复制,没有清除干净,无法截断事物日志。
执行
SELECT name,log_reuse_wait_desc FROM sys.databases where name='dbname'或者执行
SELECT log_reuse_wait , log_reuse_wait_desc FROM sys.databases WHERE name='dbname'
正常时log_reuse_wait_desc列应该是NOTHING,如果是REPLICATION,则表示搭建了事务复制,
exec sp_removedbreplication 'dbname' //清除复制状态再执行
收缩->文件->日志。
log_reuse_wait 值log_reuse_wait_desc 值说明

根据返回的 log_reuse_wait 值和 log_reuse_wait_desc 描述,可以发现日志不能截断的原因。
数据库日志文件达到30G,简单模式下收缩无效,因数据库搭建了复制导致。通过执行SQL查询确认是由于REPLICATION引起,使用sp_removedbreplication清除复制状态后,可尝试再次收缩日志文件。

1310

被折叠的 条评论
为什么被折叠?



