SQL server2008无法收缩日志

Posted sundy blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL server2008无法收缩日志相关的知识,希望对你有一定的参考价值。

SQL server2008无法收缩日志,错误信息为:

1:由于最小日志空间要求,无法收缩日志文件

2:无法收缩日志文件 2 (XXX_log),因为该文件结尾的逻辑日志文件正在使用


描述:

用的是网上普遍有的收缩代码
USE [master]
GO
ALTER DATABASE shujuku SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE shujuku SET RECOVERY SIMPLE --简单模式
GO
USE shujuku
GO
DBCC SHRINKFILE (N‘shujuku_Log‘ , 11) 
GO
USE [master]
GO
ALTER DATABASE shujuku SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE shujuku SET RECOVERY FULL --还原为完全模式
GO
最后收缩失败,失败信息如下:
无法收缩日志文件 2 (shujuku_log),因为该文件结尾的逻辑日志文件正在使用
始终无法收缩成功!找了各种解决办法,试了各种SQL

 

但是首先有个事情我是很确定的。这个日志的增长是因为我创建了发布和订阅,并且在刚创建的几天都能正常的收缩,运行了几天后才发现突然不能收缩了。

最后我发现故障出现在订阅的客户机上,由于我只关注了发布机器的日志,忽略了订阅客户机的日志。发现订阅客户机的日志已经把客户机磁盘撑满了,造成发布和订阅无法正常完成。

因此发布机的事务一直未得到正常的执行,所以日志文件不能收缩。

 

解决:

1:在订阅客户机上收缩日志,并且创建一个定时任务。

2:当同步完成后,再收缩发布机,日志正常收缩成功。

以上是关于SQL server2008无法收缩日志的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 2008 收缩日志 清空删除大日志文件

SQL Server 2008 收缩日志 清空删除大日志文件

Sql Server 2008收缩日志语句

如何清理sql server 2008日志

请教SQL server 2008 R2 日志过大问题

sql server 2008错误日志如何优化自动删除