保持ldf文件的大小在一定限度内

时间:2013-12-20 12:55:42

标签: sql-server

我有一个场景,其中SQL Server上的ldf文件在4-5天内增长到30GB以上。由于这存在潜在的空间问题(硬盘驱动器有点超过250GB),我搜索了一些解决方案但却感到困惑,因为我发现在缩小ldf文件时发现它会再次增长。一种解决方案是定期执行此操作,但我不确定它是否会长期有用。是否有可能以某种方式固定ldf文件的最大大小,然后SQL Server会自动删除其中的olders记录?

如果这听起来不太好请分享一些关于如何管理这个问题的想法?什么是最好的行动方案?

提前致谢!

1 个答案:

答案 0 :(得分:3)

这种情况你有两种情况。

场景1 - 数据库处于简单恢复状态,并且有一个大型进程在增加事务日志。在这种情况下,您可以将事务日志保留为最大尺寸并尽可能升级您的驱动器空间。

方案2(最有可能) - 您的数据库处于完全恢复模式,并且您没有配置事务日志备份。一个好的备份实践是每日完整备份(如果您的数据库不是太大)和每小时的事务日志备份。在获得良好的完整备份,然后进行良好的事务日志备份后,您可以缩小事务日志。

以下是一些可能有用的代码:

收缩交易记录 - MSDN

DBCC SHRINKFILE (LogicalLogName, SizeInMB)

正在使用多少事务日志 -

USE DatabaseName
GO

DBCC SQLPERF (logspace)

如果在缩小事务日志后发现文件大小相同,请尝试在事务日志设置中手动调整文件大小。或者,您可以将数据库设置为简单恢复,然后再设置为完全恢复。虽然后者会破坏您的事务日志备份,直到下一次完整备份。