現象
次のような状況で問題が発生します。
-
SQL Server AlwaysOn 可用性グループと可用性グループリスナーを展開しました。
-
AlwaysOn 正常性検出は、プライマリレプリカをホストしている SQL Server の正常性の問題を検出し、プライマリロールから解決ロールへの可用性グループの移行を開始します。 この手順では、可用性グループリスナーリソースをオフラインにします。
-
リスナーリソースを停止しようとしている操作が完了していない可能性があります。 SQL Server のエラーログでは、"生成されていないスケジューラ" としてクラッシュが発生します。
-
可用性グループのリスナーを停止しようとすると、操作が無期限にクラッシュすることがあります。
このシナリオでは、可用性グループの可用性データベースは回復モードのままであり、オンラインにすることはできません。 次のエラーが表示されます。
<の日付> <時刻> <サーバー名> * * *<spid のスレッドコンテキストを取得できません> <* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *> <8> <server 名> <7 *> <> <> <3 名名前を開始してから、スタックダンプを開始します。> <> <2> <4 日付> <時刻> <サーバー名> <9 * > <0 の日付 > <> <3> <4 spid 1068> <日付> <時刻> <9> <0 名> < *> <> <5 > <6> <> <><> <* * * *> <> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *<日付> <時刻> <サーバー名>ダンプのスタック署名は、「0x0000000000000176」というようになっています。
原因
この問題は、スレッドがリスナーリソースのフリーズを停止し、生成されないために発生します。 このスレッドによって、同じプロセッサ上の他のスレッドがブロックされました。これは、可用性データベースを回復しようとしている他のスレッドをブロックしています。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。
SQL Server 2012 SP1 の累積更新プログラム9 /en-us/help/2931078
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。