SQL日志文件在SQL Server 2012中不缩小

PJD*_*PJD 4 sql sql-server sql-server-2008 sql-server-2012

我正在处理其他人的备份维护计划,并且日志文件存在问题,我有一个数据库,它位于一个大小为31 GB的驱动器上,一个日志文件位于另一个大小为20 GB的服务器上,数据库处于完全恢复模型.有一个维护计划每天运行一次以执行完整备份,另一个计划每15分钟备份一次日志文件.我已经检查了日志文件备份到的驱动器,并且仍有足够的空间,但备份后日志文件永远不会变小,维护计划中是否缺少某些内容?

提前致谢

Ian*_*ton 7

你描述的情况似乎很好.

事务日志备份并不能收缩日志文件.但是,它会截断日志文件,这意味着可以重用空间:

来自联机丛书(交易日志截断):

日志截断自动释放逻辑日志中的空间,以供事务日志重用.

此外,从管理事务日志:

日志截断(在简单恢复模型下是自动的)对于防止日志填充至关重要.截断过程通过将不包含逻辑日志任何部分的虚拟日志文件标记为非活动来减小逻辑日志文件的大小.

这意味着每次在您的方案中发生事务日志备份时,它都会在文件中创建可供后续事务使用的可用空间.

因此,你应该缩小文件吗?一般来说,答案是否定的.假设您的数据库突然没有大量的一次性使用高峰,事务日志将增长到适应典型工作负载的大小.

这意味着如果您开始缩小日志,SQL Server将只需要再次增长...这是一项资源密集型操作,会影响服务器性能,并且在日志增长时无法完成任何事务.

目前的计划和文件大小对我来说都是合理的.