Pages

2014/02/08

[SQL Server] トランザクションログがいっぱいです

メッセージ 9002、レベル 17、状態 2、行 10
データベース 'xxxxx' のトランザクション ログがいっぱいです。ログの領域を再利用できない理由を確認するには、sys.databases の log_reuse_wait_desc 列を参照してください。
* 'xxxxx' は、データベース名。

SQL Server のトランザクション ログは、特に指定をしない限りディスク容量の上限に達するまで肥大化し続けるという仕様がある (復旧モデルが 「単純」 である場合はその通りではない) 。
上限に達してしまた場合、エラーログが出力され、それ以上トランザクションを実行することができなくなる。
Management Studio からログを圧縮するには、以下の手順にて行う。
  1. 該当するデータベースを右クリック。タスク -> 圧縮 -> ファイル
  2. ファイルの種類 を ログ に変更
  3. 圧縮アクションは、ファイルを圧縮する場合はを「未使用領域の解放前にページを再構成する」に変更して、圧縮左記のファイル容量を指定する。

トランザクションログについては、以下のドキュメントが参考になる。

トランザクション ログの管理 - TechNet

SQL Server 2005 Tips and Tips - TechNet第 5 回 トランザクション ログをしっかり管理しよう

HowTo: Management Studio を使ってトランザクションログファイル (ldf) のサイズを小さくする方法 - MSDN Blogs

SQL Server でのトランザクション ログが満杯の場合のエラー - 松本崇博 Blog (SQL Server Tips)
Related Posts Plugin for WordPress, Blogger...