加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 16:57:44 所属栏目:MsSql教程 来源:网络整理
导读:我们在SQL 2005服务器上有一个数据库,它设置为简单事务模式.日志记录设置为1 MB,并在需要时设置为增长10%. 我们一直遇到事务日志填满的问题,我们需要缩小它.什么可能导致事务日志在允许设置为简单且不受限制的增长时填满? 解决方法 即使在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.

希望这可以帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读