none
SQL Server VSS Writerの設定 RRS feed

  • 質問

  • SQL Server 2008 R2をインストールしているサーバーにて、シャドウコピー使用領域がハードディスク容量の約30%を消費しています。
    シャドウコピーのスケジュール実行は無効にしてあるにも関わらず、イベントログにはシャドウコピーが実行された記録が度々残っており、SQL Server VSS Writerがシャドウコピーを実行していると考えています。
    また、シャドウコピーの設定にて記憶域の制限値を確認すると、稼働直後のサーバーはハードディスク全体の0%ですが、長時間使用したサーバーは30%程度になっており、自動拡張されたようです。


    シャドウコピーの記憶域の制限値は、vssadminコマンドで設定することができますが、自動拡張されてしまっては意味がありません。
    制限値を固定し、自動拡張されないように、できるでしょうか?

    よろしくお願いします。

    2014年4月15日 2:09

回答

  • 1.シャドウコピーの記憶域の制限値は、vssadminコマンドでも設定できますが、ChangeDiffAreaMaximumSize を call すれば他のアプリケーションからも変更可能です。
    従って、自動拡張される可能性として、" そのシステムで動いている、何か " が原因の可能性があります。

    IVssDifferentialSoftwareSnapshotMgmt::ChangeDiffAreaMaximumSize method
    http://msdn.microsoft.com/en-us/library/aa383980(v=VS.85).aspx

    具体的に原因を追究する場合、vss trace を採取して ChangeDiffAreaMaximumSize を call しているアプリケーションを特定してみましょう。

    Using Tracing Tools with VSS
    http://msdn.microsoft.com/en-us/library/windows/desktop/dd765233(v=vs.85).aspx


    2.ドライブのプロパティから設定できるシャドウコピーの他、バックアップソフトもシャドウコピーを作成する事があります。
    この場合も Vss trace から確認可能ですが、とりあえず vssadmin list shadows で手軽にシャドウコピーのプロパティを確認する方法もあります。

    vssadmin list shadows で表示される、シャドウコピーの作成時刻と、バックアップの時間帯がだいたい同じだったりしませんか? 違う場合、シャドウコピーの作成時刻にディスクやファイル関連の何か ( メンテナンスジョブとか ) が動いていませんでしたか? また、vssadmin list shadows の " 種類 " や " 属性 " は ?

    "種類" には、ClientAccessibleWriters や DataVolumeRollback , backup などがあるようで、ここからシャドウコピーが作成された理由が解るかもしれません。

    Identifying how much disk space is used for restore points in Windows Vista
    http://blogs.technet.com/b/filecab/archive/2006/11/16/identifying-how-much-disk-space-is-used-for-restore-points-in-windows-vista.aspx

    • 回答の候補に設定 星 睦美 2014年4月21日 5:13
    • 回答としてマーク 星 睦美 2014年4月23日 5:27
    2014年4月18日 14:24
  • sccmタロウ さま よろしく。

    シャドウコピーのスケジュール実行は無効にしてあるにも関わらず、(中略)がシャドウコピーを実行していると考えています > とありますが、
    OS そのもののシャドウコピーの設定はどうなっているのでしょうか。
    仮に、これが有効ならば、ドライブ毎に設定が可能だった筈です。 有効無効・保存先・最大容量など。
    参照:
    シャドウ・コピーでファイルを自動バックアップする(サーバ編) @IT Windows Server 2003の新機能
    http://www.atmarkit.co.jp/fwin2k/win2ktips/557vsssrv/vsssrv.html

    • 回答の候補に設定 星 睦美 2014年4月21日 5:14
    • 回答としてマーク 星 睦美 2014年4月23日 5:27
    2014年4月18日 1:32

すべての返信

  • sccmタロウ さん、こんにちは。
    フォーラム オペレーターの星 睦美です。

    今回の質問ではSQL Server VSS Writer がシャドウコピーを実行しているのではないかということで、意図せずにハードディスク容量が減少する原因についての質問と読みました。
    以下のブログに「シャドウ コピーの種類について」の説明があり、もしかしたらsccmタロウ さんの環境でSQL Server VSS Writer 以外のシャドウ コピーが実行されている可能性もあるのではと思いました。(私が調べてみた限りですが、シャドウ コピーが使用する領域に制限値を設定したにも関わらず、自動拡張をする設定や同様の事象は見つけることができませんでした。)

    ・vssadmin コマンドでシャドウ コピーが削除できない場合の対処方法について:
    http://blogs.technet.com/b/askcorejp/archive/2013/11/29/vssadmin.aspx

    こちらの情報が何かお役に立ちましたら幸いです。


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

    2014年4月17日 5:12
  • 質問が分かりづらく、申し訳ないです。

    発生してる症状は、「シャドウコピーにより意図せずにハードディスク容量が減少している」で間違いありません。
    対策したい内容は、「ハードディスク容量が減少しないようにシャドウコピーを停止したい」、「シャドウコピーを停止できないなら、記憶域の制限値を小さくしたい」となります。
    vssadminコマンドやdiskshadowコマンドでシャドウコピーを削除できること、制限値を小さく設定できることは確認しています。
    シャドウコピーの記憶域の制限値は、自動で拡張されるものではなく、デフォルトが30%なのでしょうか。
    制限値を1%などに設定することで、シャドウコピーがそれを超えることはなくなるでしょうか。

    また、何故勝手にシャドウコピーが実行されるのか不明です。
    SQL Server VSS Writerが勝手に実行したと考えましたが、シャドウコピーが実行される要因も分かると助かります。

    2014年4月17日 12:58
  • sccmタロウ さま よろしく。

    シャドウコピーのスケジュール実行は無効にしてあるにも関わらず、(中略)がシャドウコピーを実行していると考えています > とありますが、
    OS そのもののシャドウコピーの設定はどうなっているのでしょうか。
    仮に、これが有効ならば、ドライブ毎に設定が可能だった筈です。 有効無効・保存先・最大容量など。
    参照:
    シャドウ・コピーでファイルを自動バックアップする(サーバ編) @IT Windows Server 2003の新機能
    http://www.atmarkit.co.jp/fwin2k/win2ktips/557vsssrv/vsssrv.html

    • 回答の候補に設定 星 睦美 2014年4月21日 5:14
    • 回答としてマーク 星 睦美 2014年4月23日 5:27
    2014年4月18日 1:32
  • ShiroYuki_Mot様

    > OS そのもののシャドウコピーの設定はどうなっているのでしょうか。

    ドライブのプロパティから設定できるシャドウコピーは無効にしてあります。
    無効にしてあるにも関わらず、使用領域の欄でに30000MBなどと表示されています。
    また、Dドライブの保存先もDドライに指定されており、制限値は30%(実際はMB)になっています。

    2014年4月18日 4:12
  • sccmタロウ さま 拝見しました。

    OS も SQL Server も無効化してあるのにシャドウコピーが動く点は分からないのですが。

    ひとつ、試みとして、一旦、有効化の上、最大値や他ドライブ指定を行ってみては如何でしょうか。
    その後、再び、無効化しておいて、どういう挙動を示すか試して見る価値がありそうな気がします。
    最悪、他ドライブの指定が可能な環境であり シャドウコピーが別ドライブへ移せれば、お悩みは軽減されるのではないでしょうか。

    2014年4月18日 4:44
  • 1.シャドウコピーの記憶域の制限値は、vssadminコマンドでも設定できますが、ChangeDiffAreaMaximumSize を call すれば他のアプリケーションからも変更可能です。
    従って、自動拡張される可能性として、" そのシステムで動いている、何か " が原因の可能性があります。

    IVssDifferentialSoftwareSnapshotMgmt::ChangeDiffAreaMaximumSize method
    http://msdn.microsoft.com/en-us/library/aa383980(v=VS.85).aspx

    具体的に原因を追究する場合、vss trace を採取して ChangeDiffAreaMaximumSize を call しているアプリケーションを特定してみましょう。

    Using Tracing Tools with VSS
    http://msdn.microsoft.com/en-us/library/windows/desktop/dd765233(v=vs.85).aspx


    2.ドライブのプロパティから設定できるシャドウコピーの他、バックアップソフトもシャドウコピーを作成する事があります。
    この場合も Vss trace から確認可能ですが、とりあえず vssadmin list shadows で手軽にシャドウコピーのプロパティを確認する方法もあります。

    vssadmin list shadows で表示される、シャドウコピーの作成時刻と、バックアップの時間帯がだいたい同じだったりしませんか? 違う場合、シャドウコピーの作成時刻にディスクやファイル関連の何か ( メンテナンスジョブとか ) が動いていませんでしたか? また、vssadmin list shadows の " 種類 " や " 属性 " は ?

    "種類" には、ClientAccessibleWriters や DataVolumeRollback , backup などがあるようで、ここからシャドウコピーが作成された理由が解るかもしれません。

    Identifying how much disk space is used for restore points in Windows Vista
    http://blogs.technet.com/b/filecab/archive/2006/11/16/identifying-how-much-disk-space-is-used-for-restore-points-in-windows-vista.aspx

    • 回答の候補に設定 星 睦美 2014年4月21日 5:13
    • 回答としてマーク 星 睦美 2014年4月23日 5:27
    2014年4月18日 14:24