none
mdf、ldf ファイルの更新タイミングについて RRS feed

  • 質問

  • お世話になります。

    朝倉です。

    質問形式を修正しました。ご回答いただけましたら幸いです。

    -----------------------------------------------------------------------------------

    [環境]
     OS:Windows Server 2008 R2

     DB:SQL Server 2008 R2

    [発生した事象]

     mdf ファイル、および ldf ファイルのファイルタイムスタンプが更新されない。

    [問題を発見した経緯] 

     運用中の環境において、該当ファイルの更新日時が古いファイルがある。

     運用に問題や障害が発生しているわけではないが、現行の状態が正常な状態であるか否かが不明確である。

     該当のファイルのタイムスタンプがどのようなタイミングで更新されるものかを把握したい。

    [イベントログ]
     なし
    [調査、検証]     
    ・新規のデータベース/テーブルを作成し、データを追加し、データの登録状況を確認したが、mdf/ldf のタイムスタンプはデータベース作成時の日時のままである。
    ・CHECKPOINT を実施(メモリ上のデータをディスクへ書き込むものと認識)したが、mdf/ldf のタイムスタンプはデータベース作成時の日時のままである。
    [ゴール設定]

    mdf ファイル、および ldf ファイルが、どのようなタイミングで更新されるものであるかの明確化

    -----------------------------------------------------------------------------------

    ご確認のほど、よろしくお願い致します。


    朝倉 健介


    2014年12月1日 8:30

回答

  • mdf ファイルなどは、SQL Server が稼働中はずっと Windows から見ると書き込み作業中のままの状態ですので、更新日時、つまり書き込み完了日時が更新できません。
    DB をデタッチしたり、SQL Server を停止すると、その時点で書き込みが完了するので、更新日時が更新されます。
    これは SQL Server がパフォーマンスを最大限発揮するため Disk I/O の制御まで独自に掌握するための仕組みですので、更新日時が変わらないままなのは仕様です。
    更新日時が変わらなくても CHECKPOINT などのタイミングでディスクへは書き込みされています。

    なお、上記は一般論で、個別の事象では異なることがありますので、それ以上の具体的な事象については有償サポートに問い合わせるしかないかと思います。


    MCITP(Database Developer/Database Administrator)

    2014年12月9日 2:38

すべての返信

  • フォーラム オペレーターの星 睦美です。
    Kensuke Asakura さん、投稿ありがとうございます。

    製品の仕様に関する質問には、マイクロソフトのサポート窓口(有償) にお問い合わせいただくほうが正確な情報を得ることができます。

    SQL Server フォーラムはユーザー同士で情報交換を行うためのコミュニティです。質問の内容はどのような状況での事象か、ご自身で行った調査方法など詳しい説明があるとユーザーからも返信しやすくなります。
    よろしければ今回の質問のSQL Server の種類をお知らせください。

    フォーラムのご利用方法(質問の投稿)について
    フォーラムのヘルプ

    フォーラムで役立つ回答がありましたら、投稿者からの[回答としてマーク] をお願いします。


    フォーラム オペレーター 星 睦美 - MSDN Community Support

    2014年12月1日 9:30
  • mdf ファイルなどは、SQL Server が稼働中はずっと Windows から見ると書き込み作業中のままの状態ですので、更新日時、つまり書き込み完了日時が更新できません。
    DB をデタッチしたり、SQL Server を停止すると、その時点で書き込みが完了するので、更新日時が更新されます。
    これは SQL Server がパフォーマンスを最大限発揮するため Disk I/O の制御まで独自に掌握するための仕組みですので、更新日時が変わらないままなのは仕様です。
    更新日時が変わらなくても CHECKPOINT などのタイミングでディスクへは書き込みされています。

    なお、上記は一般論で、個別の事象では異なることがありますので、それ以上の具体的な事象については有償サポートに問い合わせるしかないかと思います。


    MCITP(Database Developer/Database Administrator)

    2014年12月9日 2:38
  • nagino 様

    本件について、ご回答ありがとうございます。

    一般的に、mdf/ldf ファイルは、デタッチやサービス停止まで更新日時が更新されないものとのこと承知しました。

    大変参考になりました。ありがとうございました。

    以上


    朝倉 健介

    2014年12月10日 0:21