前几天我进去检查了我的交易日志,发现它有点疯狂,例如15GB。我运行了以下代码:
USE mydb GO BACKUP LOG mydb WITH TRUNCATE_ONLY GO DBCC SHRINKFILE(mydb_log,8) GO
可以正常工作,将其压缩到8MB …但是有问题的数据库是Log Shipping Publisher,并且日志已经备份到500MB左右,并且增长很快。
除了创建自定义“执行T- SQL语句任务”维护计划任务并将其挂接到我的日志备份任务之外,还有什么方法可以自动执行此日志收缩操作?如果那是最好的方法,那很好……但是我只是想SQL Server会有更好的方法来处理这个问题。我认为应该在每次进行日志备份时自动缩小,但这并没有发生(也许是因为我的日志传送,我不知道)。
这是我当前的备份计划:
又或者,在执行完整的备份任务后,我每周只运行一次?你们怎么想
如果文件每晚 增加到 500 MB,则只有一种正确的操作: 将文件预增长到500MB并保留在该位置 。缩小日志文件具有破坏性。日志文件自动增长也会造成破坏。
还有更多,我只是讨厌链接它们。
每次收缩日志文件时,仙女都会失去翅膀。