恐怕我正面临一个流行的问题:我的事务日志在SQL SERVER上不断增长。但是我在网上找不到答案。
我有每日完整备份,每小时差异备份和每15分钟事务日志。它们工作得很好,但是那个ldf文件呢?在2-3个月内达到100Go,我的数据库大约是15Go。
周末我会执行一些维护任务:如果碎片低于30%,则进行索引重建或重组。另外,我正在重新计算我的小数据仓库(1500万行)。每晚都有一些任务,但没有那么大。
但是,我不知道,为什么我的事务日志在日志备份后没有被截断?
当我检查LDF文件的使用情况时,当我写这篇文章时,只使用了1.7%。
有什么想法吗?
非常感谢。顺便说一句,很抱歉我的英语很差。
编辑:我有119个VLF文件,没有人使用。
发布于 2015-02-04 23:27:03
截断不会减小物理日志文件的大小。减小日志文件的物理大小需要缩小该文件。例如,由于在事务日志备份期间未删除长时间运行事务,因此大小会增大。
向Giova致敬
发布于 2015-02-04 23:45:39
您将需要定期缩小日志文件。考虑到您的备份策略包括FULL、DIFFERENTIAL和TRANSACTION LOG备份,您将很好地按计划运行一个SQL作业,将有问题的日志文件缩小到最小。我运行一个存储的进程。使用收缩命令定期执行以下操作
DBCC SHRINKFILE可帮助您将日志文件缩小到设定的大小。
例如,DBCC SHRINKFILE (DBNAME_Log, 1);会将其缩小到1MB。
发布于 2015-02-04 23:55:20
您可以使用SQL Sever Studio。在选定的数据库上单击鼠标右键,然后单击Reports > Disk Usage。您将看到数据库和事务日志文件的(内部)使用。如果您知道维护任务(如索引重建)需要在事务日志中占用大量空间,则收缩事务日志没有任何意义。经验法则-事务日志文件与最大的表一样大(Reports > Disk Usage by Top Tables)
https://stackoverflow.com/questions/28324074
复制相似问题