Bar

Windows Server バックアップが失敗する~VSSと0x800423F4

「Windows Server バックアップの失敗」になる現象と少し格闘、無事解決しました。
今回は、現象および調査方法等についてメモ。
Windows Server バックアップは、WHS2011やWSE 2012R2にも搭載されている機能です。
バックアップ関連のトラブル シューティング時に役立つはずです。

今回の環境

  • Windows Server 2008 R2
  • SQL Server 2008 R2 SP2 Express Edition
  • WORKGROUP(非ドメイン環境)
  • Windows Server バックアップを使用(BMR:Bare Metal Recovery)

現象

  • 毎日、Windows Server バックアップが失敗する
イベント ログの内容はこの後に説明します。

原因および対処法

今回の原因は、
  1. SQL Server のmdfおよびldfファイルが破損していた
  2. VSSのライターが異常を検出
  3. Windows Server バックアップが完了せずエラーを出力
したためでした。
SQL Serverは各種バックアップを行っているので、バックアップ ファイルから復元し、対処しました。

調査方法

ここで大切なのが調査方法です。
私自身「調査方法が確立できていなかった」ので、実際に調査した内容をまとめておきます。
最初に、Windows Server バックアップはVSS(ボリューム・シャドウコピー・サービス)を使用するため、VSS周りを調査します。
VSS Writerの状態をチェック
コマンド プロンプトから下記コマンドを実行し、各アプリケーションのWriterのステータスをチェックします。
vssadmin list writers
下記ステータスはサンプルになります。
[状態]および[最後のエラー]をチェックし、エラーがあればそのアプリケーションを調査します。
修復前後のログは下記リンクから閲覧できます。
http://sdrv.ms/1h1r3T6
正常ステータス
ライター名: 'Task Scheduler Writer'
   ライター Id: {xxxxxx}
   ライター インスタンス Id: {xxxxxx}
   状態: [1] 安定
   最後のエラー: エラーなし
異常ステータス
ライター名: 'SqlServerWriter'
   ライター Id: {xxxxxx}
   ライター インスタンス Id: {xxxxxx}
   状態: [8] 失敗
   最後のエラー: 再試行できないエラー

イベント ビューア

ソース:Backup
イベントID:521
レベル:エラー
バックアップ対象のボリュームのシャドウ コピーを作成するボリューム シャドウ コピー サービスの操作が、次のエラー コード '2155348129' により失敗したため、'‎2013‎-‎12‎-‎11T23:30:45.388000000Z' に開始したバックアップ操作は失敗しました。イベントの詳細で解決策を確認し、問題の解決後にバックアップ操作を再実行してください。
ソース:VSS
イベントID:8229
レベル:警告
エラー 0x800423f4, ライターで一時的でないエラーが発生しました。バックアップ処理を再試行しても、
おそらくエラーは再発します。
により、VSS ライターはイベントを拒否しました。イベントの処理中に VSS ライターがライター コンポーネントに加えた変更は、要求側では利用できません。 VSS ライターをホストしているアプリケーションからの関連イベントについては、イベント ログを参照してください。
操作:
   PrepareForSnapshot イベント
コンテキスト:
   実行コンテキスト: Writer
   ライター クラス ID: {xxxx}
   ライター名: SqlServerWriter
   ライター インスタンス名: SQL Server 2008 R2:SQLWriter
   ライター インスタンス ID: {xxxx}
   コマンド ライン: "C:\Program Files\Microsoft SQL Server\90\Shared\sqlwriter.exe"
   プロセス ID: 2416
2013-12-12_084115
2013-12-12_090739
2013-12-12_090753