【发布时间】:2019-02-02 16:01:51
【问题描述】:
我的数据库处于简单恢复模式,我预计日志文件不会呈指数级增长,但是日志文件大小正在变大。
自动收缩是一个好的解决方案吗?
自动收缩会影响简单恢复模式下的应用程序性能吗? 50GB 阈值是个好阈值吗?
谢谢!
【问题讨论】:
-
“变大”是什么意思?
SIMPLE恢复模型中的日志大小将反映正在进行的操作所需的空间,因此如果它只会再次增长(这会降低性能),则不应缩小。如果您有一个一次性操作导致日志大小增加并且不会再次发生,请执行一次性收缩以回收空间。 -
日志文件大小再次增长到近 200GB,即使在 SQL 管理员缩小后也是如此。我从您的评论中了解到自动收缩可能会影响性能,还有其他方法可以限制日志文件的大小吗?顺便说一句,该应用程序每分钟写入数千笔交易。
-
我的评论主要是关于自动增长影响性能,当需要更多空间时,这将是自动收缩后的结果。日志正在增长是有原因的。
SELECT log_reuse_wait_desc FROM sys.databases显示什么? -
是的,您可以限制日志文件的大小。但是当达到该限制时,您的数据库将停止运行并需要管理员来缩小文件。既然“autoshrink”做到了它所说的,那么大尺寸肯定是有原因的。每分钟有数千个事务,可能需要这个大小。如果这些交易对您的公司有任何价值,您可能不应该使用简单的恢复模式,而是增加磁盘空间。
标签: sql-server database-design