修正: SQL ライター サービス発生する可能性が検出されないデッドロック システム DMV の VSS バックアップを実行するとき

適用対象: SQL Server 2016 DeveloperSQL Server 2016 EnterpriseSQL Server 2016 Enterprise Core

現象


次のような状況で問題が発生します。
  • Microsoft SQL Server 2016 Service Pack 2 (SP2) を使用した累積的な更新プログラム 2 (CU2) またはそれ以降のバージョンです。
  • (200 を超えることは通常)、多くのデータベースをホストしているインスタンスを実行しているし、インスタンスは、部品の常に上の可用性グループ (AG) (通常のセカンダリ サーバーの役割)。注: すべてのユーザー データベースは、AGs に属している必要はありません
  • 実行する、ボリューム シャドウ コピー サービス (VSS) アプリケーションを SQL Server インスタンスのすべてまたは一部のデータベースのバックアップを要求します。
SQL ライター サービスこのシナリオでは、デッドロックの状態に到達できるとマスター (sys.sysdbreg で、内部のシステム テーブルに対するロックを無期限に保持します。object_id 28)。さらに、これらのロックに読み取れないからシステム動的管理ビュー (DMV) を選択し、 sys.dm_hadr_database_replica_statesのようなメジャーにつながる可能性があります。セカンダリ ・ インスタンスをブロックします。ブロック ・ チェーンの分析が、次の文を返すことを確認するさらに、ヘッド ブロックの原因としては、SQL Server の VSS ライターから発生したもの。

選択名、recovery_model_desc、state_desc、変換 (整数、is_in_standby) から ISNULL(source_database_id,0)master.sys.databases」

SQL Server は、 ASYNC_NETWORK_IOの待機状態ではないです。

注: ASYNC_NETWORK_IO待機が実装されているため、に対してwait_timeは、2 秒間 (2,000 ミリ秒) を超えることはありませんが。ただし、待機を入力します。場所に、いつまでも残され、このような状況は、独自のブロックを解除することはありません。状況のブロックを解除するのには、SQL ライター サービスを強制終了することが必要です。

このヘッド ブロックによってブロックされていると、その SPID の間で多くの場合があります、DBSTARTUPSPID (alwayson セカンダリ データベースの redo)。

状態


マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

解決方法


この問題が SQL Server の次の累積的な更新プログラムで修正します。

に関する SQL Server 用の累積的な更新。

SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていた、すべての修正プログラムおよびすべてのセキュリティ更新プログラムが含まれています。以下で、SQL Server 用の最新の累積的な更新プログラムを確認してください。

関連情報


については、  用語集Microsoft を使用して、ソフトウェア更新プログラムについて説明することです