VSS(ボリュームシャドウコピーサービス)の障害への対処は、特にバックアップが何度も失敗し、特定のライターで「失敗」などのエラーが表示される場合、特にExchangeサーバーやSQLサーバーを使用している場合は、非常に面倒です。場合によっては、システムがVSSライターが動作しないという異常な状態に陥ることがあります。そのような場合は、手動で再起動してVSSコンポーネントを再登録することで解決できることもあります。Windowsは、特にアップデートやシステムクラッシュの後など、バックアップ機能が正常に動作するために特別な操作が必要になることがあるため、少しイライラさせられます。
ある設定では1回目の試行でうまくいきましたが、別の設定では数回の再起動といくつかの手動コマンドが必要でした。さて、VSSライターを復活させるのに役立った手順を以下にご紹介します。なぜうまくいくのかは分かりませんが、DLLの再登録とサービスの再起動は驚くほど効果的です。特に単純な再起動では効果がなかった場合は効果的です。
障害が発生した VSS ライターを修復し、バックアップ機能を回復する方法
障害が発生しているVSSライターを見つける
- 管理者としてコマンド プロンプトを開きます (「cmd」を検索し、右クリックして「管理者として実行」を選択します)。
- 走る:
vssadmin list writers
このコマンドは、登録されているすべてのVSSライターとその現在の状態のリストをダンプします。「Failed」と表示されているライターを探してください。通常、正常なライターは「State: [1] Stable」と表示されます。 「State: [8] Failed」と表示されている場合は、対処が必要です。
ExchangeまたはSQLライターに障害が発生している場合は、それらを修正することでバックアップを復元できる可能性があります。一部のマシンでは、再起動後もステータスが「失敗」のままになる場合があり、手動で更新する必要がある可能性があります。
VSSコンポーネントの再登録 – これが役立つ理由
DLLの再登録とサービスのリセットというこのプロセスにより、システムがこれらのコンポーネントを再び正しく認識するようになることがよくあります。これは一種の最終手段ですが、他のトラブルシューティングが失敗した場合に効果を発揮することがよくあります。さらに、DLLの破損やサービスの不具合に関連する可能性のあるスタック状態を解消するのにも役立ちます。
VSSとシャドウコピーサービスを停止する
- コマンドプロンプトでC:\Windows\System32に移動します。
- タイプ:
cd c:\windows\system32 - 次のサービスを停止します:
net stop vssnet stop swprv
これにより、シャドウコピーサービスとプロバイダーサービスが停止され、DLLの再登録が可能になります。一部のシステムでは、これらのサービスを停止するとシャドウコピーやバックアップジョブが一時的に中断される可能性があるため、適切な計画を立ててください。
VSS DLLとコンポーネントを登録する
これが修正の核心です。以下のコマンドを一つずつ実行し、それぞれEnterキーを押してください。
regsvr32 /s ole32.dll regsvr32 /s oleaut32.dll regsvr32 /s vss_ps.dll vssvc /レジスタ regsvr32 /s /i swprv.dll regsvr32 /s /i eventcls.dll regsvr32 /s es.dll regsvr32 /s stdprov.dll regsvr32 /s vssui.dll regsvr32 /s msxml.dll regsvr32 /s msxml3.dll regsvr32 /s msxml4.dll vssvc /レジスタ
エラーに注意してください。DLL が登録を拒否することがあり、より深刻なシステムの問題が示唆される場合がありますが、ほとんどの場合、これらのコマンドは問題なく実行されます。
VSSサービスを再起動してステータスを確認します
- サービスを再開します。
net start swprvnet start vss
その後、vssadmin list writers再度実行してください。うまくいけば、以前失敗したライターのステータスが「安定」に切り替わるはずです。そうでない場合は、しばらく待つか、手順を繰り返してください。Windows Server 2008、2012、または2016などの新しいバージョンでは、このプロセスで問題が解決する場合があります。
注: サービスの停止、DLLの再登録、サービスの再起動といったプロセスにより、シャドウコピー処理が一時的に中断される可能性があります。そのため、重要な本番サーバーでは可能な限りこの処理を避けるか、メンテナンス期間を設けてください。
少し面倒ですが、基本的にはスタック状態を解消し、Windows が VSS ライターを再び正しく認識できるようにします。それでも問題が解決しない場合は、イベントログでより深刻なエラーがないか確認するか、システムファイルチェッカー ( sfc /scannow ) を実行してシステムの破損を除外することを検討してください。
手遅れになる前に、失敗したバックアップを復旧するのに役立つといいのですが。少し面倒ですが、このトリックを使えば大抵は元通りになります。
まとめ
- VSSライターのステータスを確認するには
vssadmin list writers - VSSとシャドウコピーサービスを停止する
- regsvr32コマンドでDLLを再登録する
- サービスを再起動して修正を確認する
まとめ
VSSコンポーネントを再登録するというこの便利な小技は、すべてのケースで確実に効果があるとは限りませんが、多くのバックアップ失敗を防いできたことは確かです。ただし、設定が複雑すぎる場合は、システムログを再度確認したり、より深く掘り下げたりする必要があるかもしれません。これで状況が改善し、少なくともバックアップが再び実行できるようになることを願っています。幸運を祈ります!