sql-server – 填充SQL数据库的事务日志设置为Simple

前端之家收集整理的这篇文章主要介绍了sql-server – 填充SQL数据库的事务日志设置为Simple前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们在sql 2005服务器上有一个数据库,它设置为简单事务模式.日志记录设置为1 MB,并在需要时设置为增长10%.

我们一直遇到事务日志填满的问题,我们需要缩小它.什么可能导致事务日志在允许设置为简单且不受限制的增长时填满?

解决方法

即使在SIMPLE恢复模型中,也有一些事情可能导致日志不得不增长:

>长时间运行的事务 – 在事务提交或回滚之前无法清除日志.您可以使用DBCC OPENTRAN向您显示最早的活动事务.
>事务复制 – 在日志读取器作业读取已提交的事务之前,无法清除日志

sql 2000 SP4中还存在一个错误,导致检查点无法正确清除日志 – 有关详细信息,请参阅我的博客文章Why won’t my log clear in SIMPLE recovery mode? SQL 2000 bug or very large VLFs.

我的猜测是你有一个长期的交易.

您不应该继续缩小日志 – 不断缩小和增长日志会导致称为VLF碎片的事情,这会影响性能.此外,每当日志增长时,它必须进行零初始化,这会导致所有内容在初始化发生时等待.让日志达到稳态大小并离开

查看我为TechNet杂志撰写的长篇文章,了解日志及其在各种恢复模型中的行为:Understanding Logging and Recovery in SQL Server.

希望这可以帮助!

猜你在找的MsSQL相关文章