繁体   English   中英

即使更改为完全恢复,事务日志仍保持60GB的大小

[英]Transaction Log remains 60GB size, even after changing to Full Recovery

刚从一家公司开始,并注意到他们的数据库设置为“简单恢复”。

我与所有者交谈,建议将其转换为完全恢复,并向他解释了使用事务日志并每小时进行备份的好处。 在他同意之后,我在转换之前做了完整的数据库备份。 然后,计划对事务日志文件进行每小时一次的备份,对数据文件进行每日一次完整的备份。

我的印象是,一旦每小时备份开始运行,事务日志的大小(60GB)就会缩小。 已经有一个多月了,但是事务日志的大小仍然相同。

是否可以在不分离和附加数据库的情况下针对日志文件运行DBCC ShrinkDB

我的印象是,一旦每小时备份开始运行Tlog的大小,则60GB将开始减少。 已经过去了一个多月,但Tlog的大小仍然相同。

日志文件不会自动缩小

是否可以对Tlog运行DBCC ShrinkDB

除非空间不足,否则不要收缩日志文件。原因是文件增长操作非常昂贵

您可以看到以下命令以查看日志文件中的可用空间

dbcc sqlperf('logspace')

您正在执行的日志备份将有助于防止日志文件增长,但是日志文件不会自动收缩。 在内部,日志文件被分段为虚拟日志文件(VLF),并且(或多或少)以循环方式使用。 在运行工作负载时,交易记录在这些VLF中。 运行日志备份时,它将从上次日志备份以来读取所有具有事务的VLF,将这些事务写入磁盘,然后清除VLF并将其标记为可重复使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM