この記事では、Microsoft®SQLServer®のトランザクションログの縮小と切り捨ての違いについて説明します。さまざまな使用シナリオの概要を説明し、これらのタスクを実行する方法を説明します。
データベースが単純なリカバリモデルである場合、システムはトランザクションごとにトランザクションログを自動的に切り捨てます。フルログまたはバルクログのリカバリモデルを備えたデータベースの場合、システムはトランザクションログのバックアップが成功した後にのみトランザクションログを切り捨てます。
データベースの完全バックアップでは、ログは切り捨てられません。定期的なトランザクションログのバックアップをとらない場合、ログファイルは容量がなくなるまで大きくなり続けます。ログを切り捨てると、スペースが再び使用できるようになりますが、トランザクションログファイルのサイズは減少しません。トランザクションログファイルのサイズを小さくするには、ログファイルを縮小する必要があります。
次の手順を使用して、SQL Server Management Studio(SQL Server 2008以降)でトランザクションログファイルを切り捨てます。これらの手順に従うと、データが失われる可能性があることに注意してください。定期的なログバックアップでこのタスクが自動的に実行されるため、ログを手動で切り捨てる必要はありません。
注 :sysadmin
が必要です 固定サーバーの役割またはdb_owner
ログを切り捨てるためのデータベースの役割を修正しました。
-
データベースを右クリックして、[プロパティ->オプション]を選択します 。
-
リカバリモデルを
Simple
に設定します メニューを終了します。 -
データベースをもう一度右クリックして、[タスク]->[縮小]->[ファイル]を選択します。 。
-
タイプを
Log
に変更します 。 -
縮小アクションの下 、[未使用の領域を解放する前にページを再編成する]を選択します [OK]をクリックします 。
-
プロセスが完了したら、リカバリモデルを
Full
に戻します。 またはBulk-Logged
データベース全体のバックアップを取ります。
トランザクションログファイルからディスク領域を回復する必要がある場合は、ログファイルを縮小することを検討してください。縮小すると、データをファイルの最後からファイルの前の空いているスペースに移動することにより、スペースが回復します。プロセスがファイルの最後に十分なスペースを作成した後、割り当てを解除してファイルシステムに戻すことができます。ログを縮小すると、多数のログを作成するアクションを実行した後に役立ちます。ログファイルに空き容量がある場合にのみ、ログを縮小できます。
トランザクションログファイルを切り捨てるには、次の手順を使用します。
注 :sysadmin
が必要です 固定サーバーの役割またはdb_owner
ログを縮小するためのデータベースの役割を修正しました。
-
データベースを右クリックして、[タスク]->[縮小]->[ファイル]を選択します。 。
-
タイプを
Log
に変更します 。 -
縮小アクションの下 、未使用の領域を解放するを選択します [OK]をクリックします 。
関連記事:
SQLServerデータベースリカバリモデル