SQL Serverのトランザクションログを圧縮する方法【SQL Server Management Studio】

公開日時:  
基本情報技術者試験の試験対策はこちら>>

トランザクションは、SQL Serverが稼働中に行ったデータベースごとに発生した複数の処理を1つにまとめたものです。今回は、トランザクションに加えられた変更が記録されるログファイルである、トランザクションログの圧縮方法を紹介します。

SE
新システムを稼働した一週間後にデータを移行するためにバックアップをとったのですが、ユーザーアプリケーションエラーが発生しました……。
PL
それは、バックアップの際にトランザクションログファイルが肥大化して、それ以上書き込みができなくなったためですね。ここで圧縮の手順を確認してみましょう!

トランザクションログの圧縮が必要な場合

SQL Serverを利用していれば、トランザクションログは何をしなくても増えていきます。ディスクがいっぱいになるまで増え続けるため、時々トランザクションログを圧縮する必要があります。圧縮を行わずに、トランザクションログのバックアップを取るだけでも「〜.ldf」ファイルは小さくなりますが、それでも大きい場合には圧縮が必要です。

トランザクションログ圧縮の手順

データファイル、またログファイルを圧縮する。

  1. SQL Server Management Studio(SSMS)を起動して、データベースサーバーに接続。オブジェクトエクスプローラーのインスタンスから「データベース」を展開し、圧縮するデータベースを右クリックします。
  2. ポップアップメニューが表示されたら、「タスク」>「圧縮」の順に選択します。(バックアップを取る場合は「タスク」>「バックアップ」を選択します。)
  3. ファイルの圧縮ダイアログボックスが表示されたら、ファイルの種類を「ログ」に変更します。既定の選択は「データ」です。
  4. ファイルの種類とファイル名を選択して、必要であれば「未使用領域を開放する」をオンにします。

    これにより、データを移動することなくファイルサイズが減少します。「未使用領域の開放前にファイルを再構成する」をオンにすると、ファイルの未使用領域が開放されて、未割り当て部分に再割り当てを行います。また、データベースファイル内に残す空き領域の最大値を、0〜99%の間で指定することが可能です。

  5. 必要に応じて、「データを同じファイルグループの他のファイルに移行してファイルを空にする」をオンにすると、指定したファイルすべてが同じファイルに移動します。
  6. 「OK」をクリックして完了です。
SE
トランザクションログのバックアップをとるだけでも容量が減少するのですね。データ移行の容量が大きくなるような動作をする前にはトランザクションログの圧縮を行ったほうが良いようですね。
PL
そうですね。エラーやトラブルが発生してしまうと、インスタンスの動作やサービス全体に影響を及ぼす可能性もあるので気をつけましょう。

データベース管理の重要機能に関連

トランザクションログはSSMSの重要機能に関連しています。トランザクションログがドライブの容量上限に達するなどの要因により、書き込みが不可能になったときにトラブルやエラーが発生します。トラブルが発生するとサービスが動作停止状態になり、危機的な状況に陥る可能性もあるため注意が必要です。


FEnetへの登録は左下のチャットが便利です 経験者優遇! 最短10秒!

.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags