ブログ

2021/04/21
【プリザンター】 第93回)SQL Server使用時のディスク容量削減

意外と気づきにくいディスク使用量の増加

こんにちは、CCSの田中です。

前回、SQL Serverを使用しているときのパフォーマンス改善についてご紹介しました。
パフォーマンスとは直接関係はしないのですが、SQL Server Expressを使用している場合に、上限10GBという制限があるためDBサイズを気にされている方がいらっしゃるかと思います。
実際に使用しているデータ容量が多くなってしまっている場合は仕方ないのですが、実際の使用量は少ないのにDBの容量が膨れ上がっているケースがありますので、その確認方法と対処方法について説明したいと思います。

ディスク容量を意外と使用してしまう原因が「ログの肥大化」です。
プリザンターは、DB上のSyslogsテーブルに常にログを吐き出しているのですが、エラーなどが発生している場合は、通常よりも多くログが記録されます。表面上はエラーとなっていないため、Syslogを見に行かないと気づけません。

そのため、定期的にログの状況をチェックするか、ログの保存期間を調整しておくのがよいでしょう。
調査方法や対処方法を次に紹介します。

ちなみに、エラーが大量に吐かれている場合で、エラーが継続している場合はエラーの内容を確認して対処をしないとログは増え続けてしまいますのでご注意ください。エラー等の場合はサポートご契約の場合にご支援が可能ですので、その際は当社までご相談ください。

ログ肥大化時の調査方法と対処方法

まずは、ログが肥大化しているかの確認方法です。


  1. SQL Server Management Studioを起動します。

  2. プリザンターのDBインスタンス(Implem.Pleasanter)を右クリックします。

  3. 「レポート」→「標準レポート」→「テーブルごとのディスク使用量」を選択します。

  4. 下記のようにテーブルごとの使用量が表示されますので、各テーブルを確認します。

  5. dbo.SysLogs のデータ列の容量を確認します。


SysLogsの使用量が多かった場合は、直接古いデータをクエリで削除するか、ログの保存期間を変更するなどするかになります。
ログの削除方法は割愛させていただいます。

ログの保存期間は、SysLog.jsonファイルの「RetentionPeriod」の値を変更します。デフォルトでは90日となっています。
変更後はIISの再起動を忘れずに。
その後、Toolsフォルダ下のBackgroundTasks.ps1の実行および、
http://servername/pleasanter/backgroundtasks/do のURLを実行することで指定したログの保存期間に調整されます。

Syslogが大きくなりすぎている場合は、パフォーマンスに影響が出ている場合がありますので、こちらも一度お試しください。
なお、DBを直接操作する場合は、事前のバックアップをお忘れなく。

上記だけの操作ですと、MDFファイル自体のサイズが小さくなりません。このサイズも小さくして実際のサイズに近くしたい場合は以下の操作を行います。

  1. SQL Server Management Studioを起動します。

  2. プリザンターのDBインスタンス(Implem.Pleasanter)を右クリックします。

  3. 「タスク」→「圧縮」→「ファイル」を選択します。

  4. 表示されるウィンドウの下のほうにある「未使用領域の開放前にページを再構成する」を選択します。

  5. 圧縮先のファイルの容量を変更します。

  6. 「OK」ボタンをクリックします。


これでMDFファイルは小さくなっています。
上記で確認したディスクサイズやプリザンターのバージョン情報から表示されるサイズをご確認ください。

まとめ

さて、いかがでしたか?

今回はトラブルシューティング的にログの肥大化の対処方法について説明しました。
SQL Server Expressを使用していてDBサイズが10GBになってしまいますと、プリザンターへの更新や登録ができなくなってしまいますので十分に注意してください。プリザンター管理者の方は、定期的なログの確認も怠らないようにしてください。

導入の支援、スクリプト開発などでお困りの場合は、当社で支援もいたします。プリザンター逆引き辞典PDF版やスタイル・スクリプトサンプル集PDF版の販売もしております!

☆☆ブログ内容への質問や追加説明をご希望の方は
【問い合わせフォーム】 こちら からお気軽にお問い合わせください☆☆

PAGE TOP