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

DBAtlas で開く →

関連項目