SQL ログファイルバックアップを実行してもトランザクションログファイルが切り捨てられたように見えず、ファイルサイズも縮小していない

Article: 100036674
Last Published: 2017-07-13
Ratings: 0 0
Product(s): Backup Exec

問題

SQL ログファイルバックアップを実行してもトランザクションログファイルが切り捨てられたように見えず、ファイルサイズも縮小していない。

解決方法

通常、SQL トランザクションログファイルは、切り捨て後もサイズが同じままです。切り捨て機能は、SQL Server で新しいログファイルを作成しなくても領域の再利用が可能となるように、ログファイル内の空き領域を増加させることのみを目的としています。
 


ファイルの使用量を確認してログファイルのサイズを縮小するには、次の手順を実行します。

1. SQL Enterprise Manager を開き、[Microsoft SQL Servers (Microsoft SQL Servers)]、[SQL Server グループ (SQL Server Group)]、[<SQL サーバー>]、[データベース (Databases)]の順に展開します (図 1)。

図 1
 

 
 
 
2. 対象のデータベースを右クリックし、[表示 (View)]、[タスクパッド (Taskpad)]の順に選択します (図 2)。

図 2
 

 
 
3. 右ペインをスクロールして[割り当て済み領域 (Space allocated)]セクションを表示します。このセクションには、データベースとトランザクションログの両方についてファイル使用量が表示されます (図 3)。ログファイルの空き領域が過剰にある場合は、ファイルサイズを最小化できます。

図 3
 

 
 
3. カーソルを黄色の矢印ボタンに合わせて、ショートカットメニューから[データベースの圧縮 (Shrink Database)]を選択します (図 4)。

図 4
 

 
 
4. [ファイル (Files)]をクリックします (図 5)。

図 5
 

 
 
5. [データベースファイル (Database file)]リストからログファイル名を選択します (図 6)。

図 6
 

 
 
6. [OK]をクリックするとログファイルが圧縮されます (図 7)。
重要: データベースを圧縮せず終了するには、ウィンドウの[キャンセル (Cancel)]をクリックします。

図 7
 

 
 
7. F5 キーを押してデータベースのファイル使用量の表示を更新します。ログファイルのサイズが縮小しています。

 
データベースのサイズがわずかしか縮小しない場合は、次の手順を実行します。
 
1. 安全のために、バックアップを作成します (この手順は省略可能です)。
[新規クエリ]を選択して次のコマンドを入力します。
 
BACKUP LOG [DB_name] TO DISK=’D:\configLogBackup.bak’
GO
 
DB_name は構成データベースファイルの名前、D:\configLogBackup.bak はバックアップ先の場所とファイル名です。
[実行]をクリックします。
 
ログファイルのサイズが大きい場合は時間がかかることがあります。
 
2. 次に、クエリをクリア (または再度[新規クエリ]をクリック) して、次のコマンドを入力します。
 
BACKUP LOG [DB_name] WITH TRUNCATE_ONLY
USE [DB_name]
GO
 
[実行]をクリックします。
 
3. クエリをクリアするか別のクエリタブを開いて、次のコマンドを入力します。
 
DBCC SHRINKFILE (N’DB_name’ , 50)
GO
 
上記のコマンドの「50」は切り捨て後のログサイズの設定値 (MB 単位) です。構成データベースの名前が異なる場合は、上記の DB_name の部分をその名前に置き換えます。
 
[実行]をクリックします。

 

注意: これは、Microsoft SQL Server 2000、2005、2008、2008R2 に適用されます。


Was this content helpful?