我已经在 sql server 中配置了日志传送。在日志传送过程中,日志文件的大小增加了。我需要缩小日志文件。为此,我必须将数据库更改为简单。当我将恢复模式从完全更改为简单时,中断日志传送的可能性最大,正如我在 Microsoft 指南中所读的那样。
用于日志传送时是否可以缩小数据库中的日志文件?
我已经在 sql server 中配置了日志传送。在日志传送过程中,日志文件的大小增加了。我需要缩小日志文件。为此,我必须将数据库更改为简单。当我将恢复模式从完全更改为简单时,中断日志传送的可能性最大,正如我在 Microsoft 指南中所读的那样。
用于日志传送时是否可以缩小数据库中的日志文件?
假设您在日志文件增长后进行了日志备份,您应该能够在不更改恢复模型的情况下缩小文件。
但是您绝对必须 100% 了解,如果日志文件要再次增长,那么缩小日志文件绝对是无用的活动。让它在正常操作期间保持尽可能大,因为暂时将其缩小到可用空间不会给您带来任何好处。当您知道明天日志文件将再次增长时,您今天将如何使用该空间?这就像在雷雨来临前给草坪浇水一样。也许您没有足够频繁地备份日志?经常这样做
请在继续之前完整阅读此内容。我的意思是完整的。就像,整个事情。
现在,如果您已经阅读了整个页面,并且绝对 100% 确定您需要缩小日志文件,并且这是一项有价值的活动,因为您知道日志文件不会再次增长,那么:
如果您不知道日志文件不会再次增长,请放下鼠标,让日志文件保持原状。
其次是亚伦提到的。
您可以在日志传送中对数据库使用DBBCC shrinkfile命令,但请确保不要使用 TRUNCATEONLY 选项。如果您使用此选项,Logshipping 最终会中断。缩小时最好使用 NOTRUNCATE 选项
由于一些巨大的索引重建或巨大的删除操作,日志文件增长是很常见的情况。在这种情况下,日志文件会增加,因为它需要空间来记录信息。如果您缩小它,下周末删除操作或索引重建作业运行时它会再次增长。那么收缩有什么好处呢?
日志文件不存在即时文件初始化(对于Tempdb 日志文件,它的工作方式略有不同)。当写入日志文件的信息时,空间首先清零,然后再写入信息,这可能是性能瓶颈,因为整个操作必须等待信息先写入日志文件。
有关即时文件初始化的更多信息