DBAtlas · 数据库运维图谱

收缩日志文件

SQL Server备份与日志

命令

-- First take a log backup so the log can be truncated (FULL model):
BACKUP LOG [Customer] TO DISK = N'D:\Backup\Customer_log_pre_shrink.trn' WITH COMPRESSION;

-- Find the logical name of the log file:
SELECT name, type_desc FROM sys.database_files WHERE type_desc = 'LOG';

-- Shrink (target 2048 MB):
USE [Customer];
DBCC SHRINKFILE (N'Customer_log', 2048);

作用

减小事务日志文件的物理大小,并将空间归还给操作系统。

适用场景

日志在一次性异常增长(大事务/索引重建)后一直保持膨胀时。

注意

危险/注意:例行收缩是不良做法;日志再次增长期间性能下降,且 VLF 碎片增加。先执行日志备份,否则大小不会下降。只收缩不必要增长的日志文件,而不是数据文件。之后一次性将其增长到合适的大小。

在 DBAtlas 中打开 →

相关内容