什么时候应该在SQL Server中的日志文件上使用自动收缩?

bjo*_*sig 7 sql database sql-server

我的SQL Server(2000)日志文件变得太大,我遇到了一些问题.Microsoft不建议对日志文件使用自动收缩,但由于它是一项功能,因此在某些情况下它必须有用.有谁知道什么时候适合使用自动收缩属性?

HLG*_*GEM 13

您的问题不是您需要定期自动收缩,而是需要定期备份日志文件.(我们每15分钟支持一次.)备份数据库本身是不够的,你也必须做日志.如果不备份事务日志,它将会增长,直到它占用驱动器上的所有空间.如果备份它,它会释放要重用的空间(在第一次备份后,您仍可能需要缩小以使日志记录更合理).如果您不需要能够从事务中恢复(除非您的整个数据库包含从其他源加载并且可以轻松重新加载的表,否则您应该能够执行此操作),然后将您的日志设置为simlpe恢复模式.

自动收缩不是一个好主意的一个原因是,您将经常增加事务日志,这会降低性能.如果你备份日志,你可以获得一个相对稳定的大小(在备份之间的时间段内事务日志通常使用的空间量),那么如果异常繁重,日志只需要偶尔增长交易.


Jim*_*eod 5

我对此的看法是,当您有许多相当小的数据库,这些数据库由于添加数据而经常变大时,自动收缩很有用,然后有很多空白空间。您还需要注意文件在频繁增长和收缩时会在磁盘上产生碎片。我永远不会在关键数据库或大于 2 GB 的数据库上使用自动收缩,因为您永远不知道收缩操作何时开始,并且在收缩完成之前对数据库的访问将被阻止。