Backup Exec を使って SQL Server のデータベースの[ログ - トランザクション ログをバックアップする]を実行しても、物理ログのサイズが変化しない

book

Article ID: 100036353

calendar_today

Updated On:

Description

問題

Backup Exec を使って SQL Server のデータベースの[ログ - トランザクション ログをバックアップする]を実行しても、物理ログのサイズが変化しない。

解決方法

Backup Exec は、[ログ - トランザクション ログをバックアップする]により SQL Server のデータベースに対するバックアップを実行するオプションを提供しています。バックアップが成功するとトランザクションログが切り捨てられますが、物理ログファイルのサイズは変化しないままです。
物理ログファイルのサイズを縮小するには、まずログを切り捨てその後に SHRINK 操作を実行することが必要です。ログの切り捨てでは、物理ログファイルのサイズは縮小されずに論理ログのサイズが縮小され、論理ログのどの部分も持たない仮想ログに非アクティブのマークが付けられます。
 
トランザクションログの物理構造
SQL Server のトランザクションログは、サイズと数が不定である多数の仮想ログファイルで構成されるラップアラウンドファイルです。
ログファイルの生成時または拡張時に、SQL Server によってファイルサイズが決定されます。合計サイズは、既存ログファイルと新しいファイル増加分のサイズに基づいたものとなります。
 
 
データベースの作成時、論理ログファイルは物理ログファイルの先頭から開始します。新しいログのレコードは論理ログの末尾に追加され、論理ログは物理ログの末尾へ向かって拡張します。

切り捨て処理が行われると、最小復旧ログシーケンス番号 (MinLSN) より前の番号の仮想ログ内のレコードが削除されます (図 2)。
 
図 2
 
 
同様に、Backup Exec for Windows Servers を使用して SQL Server データベースの[ログ - トランザクション ログをバックアップする]バックアップを実行しても、物理ログファイルのサイズは縮小されません。

物理ログファイルのサイズを縮小するためには、SQL Server で次の操作を実行する必要があります。

1.  DBCC SHRINKDATABASE  ステートメントの実行  
2.  ログファイルを参照する DBCC SHRINKFILE ステートメントの実行   
 

 

 

 

Issue/Introduction

Backup Exec を使って SQL Server のデータベースの[ログ - トランザクション ログをバックアップする]を実行しても、物理ログのサイズが変化しない。