none
VSSを使用してのSQLデータベースバックアップエラーについて RRS feed

  • 質問

  • VSSを使用してSQLデータベースのバックアップを実行すると以下のエラーが出ます

    ※BK毎実行時、1秒間に5回発生

    (SQL Server 2005 使用)

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

    ■イベントログのエラー内容

    ソース : SQLVDI
    イベント ID : 1
    説明 : SQLVDI: Loc=CVDS::Cleanup. Desc=Release(ClientAliveMutex). ErrorCode=(288)呼び出し側が所有していないミューテックスを解放しようとしています。 . Process=XXX. Thread=XXX. Client. Instance=XXX. VD=.

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

    下記QA及びHotFixを参照/修正を適用すればエラー回避できることは想像できますが、

    ① http://social.technet.microsoft.com/Forums/ja-JP/525d820a-8bfd-4215-99bc-82761cc67657/ntbackup-sql-server?forum=windowsserver2003ja

    ② http://support.microsoft.com/kb/934396/ja


    エラーの説明に表記されている「呼び出し側が所有していないミューテックスを解放しようとしています」は何を意味しているのでしょうか。


    2014年2月26日 8:12

すべての返信

  • 説明文そのままの意味です。

    Mutex Objects
    http://msdn.microsoft.com/en-us/library/windows/desktop/ms684266(v=vs.85).aspx

    通常、CreateMutex 等で Mutex を作成すれば、Owner になり、Owner であれば ReleaseMutex を call して
     Mutex を解放することができます。

    "呼び出し側が所有していないミューテックスを解放しようとしています" は、説明文そのままの意味です。

    • 回答の候補に設定 佐伯玲 2014年2月27日 0:36
    2014年2月26日 8:46
  • 中年やっちゅうねん さん

    ご回答ありがとうございます。

    少し乱文となりますが、以下認識であっていますでしょうか。

    ① スナップショット対象となっているDB(所有者:SQL)

    ------VSS実行------

    ② VSSでDB処理のMutexを作成(所有者:VSS)

    ------VSS終了------

    ③ VSSでDB処理のMutexを解放(所有者:VSS)

    -----本エラー発生-----

    以上となります。

    よろしくお願いいたします。

    2014年2月27日 0:55