ログファイルを圧縮する
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 の断片化が増える。先にログバックアップを取得しないとサイズは減らない。不必要に増大したログファイルのみを圧縮し、データファイルは圧縮しない。その後、適切なサイズまで 1 回で拡張する。