ASR エージェントまたはその他のコンポーネント以外の VSS バックアップが、2008 R2 SQL Serverホストしているサーバーに対して失敗する

この記事では、ASR エージェントなどのコンポーネント以外の VSS バックアップが、2008 R2 をホストしているサーバー SQL Server失敗する問題を回避するのに役立ちます。

元の製品バージョン: SQL Server 2008、SQL Server 2008 R2
元の KB 番号: 4504103

現象

次のような状況で問題が発生します。

  • Microsoft SQL Server 2008 または SQL Server 2008 R2 を使用しています。
  • SQL Server ファイルをホストしているボリュームの非コンポーネント VSS バックアップを開始します。 たとえば、Microsoft Azure Site Recovery エージェントを使用します。

この状況では、SQL Server エラー ログでバックアップが成功したことが報告されていても、SQLServerWriter エラーが原因で VSS バックアップが失敗することがわかります。

SQLServerWriter は、"vssadmin list writers" 出力で次の結果を報告します。

ライター名: 'SqlServerWriter'
ライター ID: {ID}
ライター インスタンス ID: {ID}
状態: [11] 失敗しました
最後のエラー: 再試行できないエラー

注:

前の状態またはエラーは非常に一般的です。 そのため、特定のシナリオを選択的に識別するのに十分な情報が提供されません。 この状況は、SQL Server 2008 または R2 でのコンポーネント以外のバックアップのコンテキストで重要です。

さらに、SQLServerWriter トレースは次を報告します。

[-,0x00c390:0xbb80:0x0eba42eb] sqlwriter.yukon\sqllib\FileName(LineNumber): FrozenDatabase::GetNextPartialInfo: VDI::GetCommand failed with error 0x8077000e

[-,0x00c390:0xbb80:0x0eba42eb]EXIT {DatabaseName::GetNextPartialInfo}: hr: 0x8077000e

[-,0x00c390:0xbb80:0x0eba42eb] sqlwriter.yukon\sqlwriter\FileName(LineNumber): CSqlWriter::P ickupDifferentialInfo: サーバー インスタンスのデータベース マスター CGLONCSQL01ファイル情報を列挙できませんでした。 hr = 0x8077000e

[-,0x00c390:0xbb80:0x0eba42eb] sqlwriter.yukon\sqlwriter\FileName(LineNumber): CSqlWriter::P ickupDifferentialInfo: HRESULT コード 0x8077000eのスロー。 前の HRESULT コード = 0x8077000e

[-,0x00c390:0xbb80:0x0eba42eb] sqlwriter.yukon\sqlwriter\FileName(LineNumber): CSqlWriter::P ickupDifferentialInfo: HRESULT EXCEPTION CAUGHT: hr: 0x8077000e

[-,0x00c390:0xbb80:0x0eba42eb]EXIT {CSqlWriter::P ickupDifferentialInfo}: hr: 0x8077000e

[-,0x00c390:0xbb80:0x0eba42eb] sqlwriter.yukon\sqlwriter\FileName(LineNumber): STDMETHODCALLTYPE CSqlWriter::OnPostSnapshot: データベース サーバーからファイル情報を取得できませんでした。 hr = 0x8077000e

[-,0x00c390:0xbb80:0x0eba42eb] sqlwriter.yukon\sqlwriter\FileName(LineNumber): STDMETHODCALLTYPE CSqlWriter::OnPostSnapshot: THROWing HRESULT code 0x8077000e。 前の HRESULT コード = 0x8077000e

[-,0x00c390:0xbb80:0x0eba42eb] sqlwriter.yukon\sqlwriter\FileName(LineNumber): STDMETHODCALLTYPE CSqlWriter::OnPostSnapshot: HRESULT EXCEPTION CAUGHT: hr: 0x8077000e

[-,0x00c390:0xbb80:0x0eba42eb]Enter {Snapshot::~Snapshot}:

回避策

SQL Server 2008 または SQL Server 2008 R2 の修正はありません。 この問題は、SQL Server 2012 の初期リリース (RTM) で修正されました。 SQLServerWriter は共有コンポーネントであるため、新しいメジャー バージョンの SQL Server で共有コンポーネントをアップグレードすると、SQL Server 2008 または SQL Server 2008 R2 SQLServerWriter が修正プログラムを含む新しいバージョンに置き換えられます。

SQL Server 2008 または SQL Server 2008 R2 でこの問題が発生している場合は、SQL Server Express Edition などの最新のSQL Server バージョンの無料版をインストールすることをお勧めします。 (オペレーティング システムのバージョンに応じて、使用する正確なバージョンについては、「 詳細情報 」セクションを参照してください)。 これを行うには、SQL Server Express インストール ウィザードの [インスタンスの選択] ページでのみ [共有機能のアップグレード] を選択します。

[インストール センター] ウィンドウの [SQL Server 2005、SQL Server 2008、SQL Server 2008 R2 または SQL Server 2012 からのアップグレード] オプションのスクリーンショット。

[インスタンスの選択] ページの [共有機能のみアップグレード] オプションのスクリーンショット。

このメソッドは、すべての共有コンポーネントを、使用されているSQL Server バージョンにアップグレードします。 これは、以前に 2008 または 2008 R2 バージョンのライターを実行していたのと同じSQL Server VSS ライター サービスが、SQL Express からより新しいSQL Serverバージョンを実行していることを意味します。 より新しいバージョンは下位互換性があります。

この方法では、SQL Express のアップグレード バージョンSQL Server関連する累積的な更新プログラムをインストールすることもできます。 たとえば、SQL Server 2014 または SQL Server 2017 の累積的な更新プログラムをインストールして、SQLServerWriter を必要に応じて更新することができます。 詳細については、「FIX: VSS Backup アプリケーションを使用したSQL Server データベースのバックアップが、インストール後に失敗する可能性があるSQL Server

詳細

  • SQL Server 2016 および SQL Server 2017 Express Edition には、Windows Server 2012以降、またはWindows 8以降が必要です。

  • Windows Server 2008 または Windows Server 2008 R2 を SQL Server 2008 または SQL Server 2008 R2 と共に使用している場合は、SQL Server 2014 Service Pack 3 (SP3) Express Edition を使用して共有コンポーネントをアップグレードできます。Microsoft SQL Server 2014 SP3 Express をダウンロードします。

  • 共有コンポーネントをアップグレードすると、すべてのサブコンポーネントが SQLServerWriter に加えてアップグレードされます。 たとえば、Integration Services、マスター データ サービス (MDS)、SQL Server Management Studio (SSMS)、SQL Server Data Tools (SSDT)、SQL Serverオンライン ブックがアップグレードされます。

  • もう 1 つの回避策は、共有コンポーネントをアップグレードし、問題を回避するために、新しい dummy メジャー バージョンの SQL Express インスタンスをインストールすることです。 新しいメジャー バージョンの SQL Server インスタンスをインストールすると、共有コンポーネントもアップグレードされます。 後でダミー インスタンスを無効またはアンインストールできます。 ただし、最もクリーンな方法は、共有コンポーネントをアップグレードすることです。

関連情報

Microsoft ソフトウェア更新プログラムの説明に使用される標準用語の説明について説明します。