メインコンテンツまでスキップ

サーバーマシンのハードディスク容量が不足したときの対処方法

はじめに​

TimeTracker が稼働しているサーバーマシンのハードディスク(HDD)容量が不足したときの対応方法をご紹介します。

HDD容量が不足して困ること​

TimeTracker を使っているだけで、日々新しいデータが生成されます。
(実績を入力する、アイテムを追加する、、、)
HDD容量が不足すると上記データを保存できず、エラーになります。
例えば、実績入力時にエラーになる、プロジェクトがロックされる などがあります。

対策​

恒久対策としては「HDDの容量を増加すること」です。
年単位のHDDの増加量を計測し、今後の見立て(後何年で不足する)を立てることも大事です。
ただ、問題が起こってから対応するのは難しいため、暫定対策として以下をご紹介します。

  1. データベースのログファイル(.ldf)を削除する。
  2. データベースの関係ファイル(データファイル(.mdf)やログファイル(.ldf))を圧縮する。
  3. データベースサーバーを別のサーバーマシンに移行する。

それぞれの方法についてご説明します。
なお、いずれの場合についても事前にTimeTrackerのサーバーを停止し、手順の実施後にサーバーを起動する必要があります。
サーバーの停止については以下のページの「サーバーを停止する(手動)」の手順を、サーバーの起動については以下のページの「サーバーを起動する(手動)」の手順を実施してください。

TimeTracker のサーバーを停止/起動する方法

1. データベースのログファイル(.ldf)を削除する。​

以下の手順にて、SQL Serverのログファイルを削除し、HDDの空き容量を確保します。
本手順では、SQL Server Management Studio(以降、SSMSと記載)を利用します。

  1. ログファイルを削除したいデータベースをデタッチする。
    (参考)Microsoft社が公開する手順:データベースをデタッチするには

    データベースをデタッチする(Microsoft Learn)

  2. ldfファイルを任意のフォルダに移動する。
    ポイント:移動先は現在のldfファイルが置かれているフォルダ(※)以外にしてください。

    • Cドライブにある場合は例えばデスクトップ画面に移動してもOKです。
    • 別のネットワークドライブに移動すると時間がかかるため、上記をお勧め致します。

    ※このフォルダにあるとSSMSが勝手に取り込むため、他のフォルダに移動する必要があります。

  3. 手順1でデタッチしたデータベースファイルをアタッチする。
    (参考)Microsoft社が公開する手順:データベースをアタッチするには

    データベースをアタッチする(Microsoft Learn)

    注意点:アタッチを実行する前に、下図のようにldfファイルを削除してください。

    サーバーマシンのハードディスク容量が不足したときの対処方法の画像 1

    アタッチが成功し、新たにldfファイルが作成されることを確認してください。

  4. 2.で移動したldfファイルを削除する。(ゴミ箱にも残さず完全に削除してください)

  5. TimeTracker を起動し、利用可能であることを確認する。

上記の手順に失敗した場合​

アタッチに失敗した場合は、データベースを元の状態に戻す必要があるため、ldfファイルを元の場所に戻して、
mdf/ldfファイルの両方をアタッチ(手順3を実施)してください。
その後で、次にご案内する2番目の方法をお試しください。

2. データベースの関係ファイル(データファイル(.mdf)やログファイル(.ldf))を圧縮する。​

SQL Serverのデータファイルなどを圧縮し、HDDの空き容量を拡げます。
SSMSを使って下記にご紹介するMicrosoft社のページに従って[未使用領域を解放する]にチェックを入れることで、
一時的にldfファイルを小さくすることができます。

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

ファイルを圧縮する(Microsoft Learn)

上記対応を実施してもHDDの空き容量が不足する場合は、次にご案内する3番目の方法をお試しください。

3. データベースサーバーを別のサーバーマシンに移行する。​

TimeTrackerは、大きく分けて「Webサーバー機能」と「データベースサーバー機能」があります。
「データベースサーバー機能」を他のサーバーマシンに移行することで、HDDの空き容量不足を解消します。
既に2つのサーバー機能を別のサーバーPCに配置している場合は、
「データベースサーバー機能」をよりHDDのサイズが大きいサーバーPCに移動することで実現できます
詳細な手順は以下のページをご参照ください。

計画的にサーバーを移行する
https://docs.timetracker.jp/db-management/server/migration/planned_move_web