現象
たとえば次のようなシナリオを考えてみます。
- Microsoft SQL Server 2016 または 2017 でトレース フラグ (TF) 7412 を有効にします。
- セッション N があり、このセッションでは、基になるインデックスを更新するコマンドを実行し、インデックスが見つからないという警告も生成します。
- セッション M から、セッション N を指す動的管理機能 (DMF) sys.dm_exec_query_statistics_xml(N) を実行します。
この状況では、コマンドが待機タイプ QRY_PROFILE_LIST_MUTEX でブロックされ、DMF は実行を完了できず、両方のセッションがハングしているように見える場合があります。
解決策
SQL Server 2016 の Service Pack の情報
この問題は、次の SQL Server Service Pack で修正されています。
Service Pack 2 (SQL Server 2016)
SQL Server の Service Pack について:
Service Pack は累積的であり、 最新の Service Pack には新しい修正プログラムと共に、それ以前の Service Pack に含まれていたすべての修正プログラムが含まれています。 マイクロソフトでは、最新の Service Pack と、その Service Pack 用の最新の累積的な更新プログラムを適用することをお勧めします。 最新の Service Pack をインストールする前に、以前の Service Pack をインストールする必要はありません。 最新の Service Pack と最新の累積的な更新プログラムの詳細については、次の資料の表 1 を参照してください。
SQL Server とそのコンポーネントのバージョン、エディション、および更新プログラムのレベルを確認する方法
この問題は、SQL Server 用の次の累積的な更新プログラムで解決されています。
SQL Server 2017 の累積的な更新プログラム 13
SQL Server 用の累積的な更新プログラムについて
SQL Server 用の新しい累積的な更新プログラムには、以前のビルドであったすべての修正プログラムとセキュリティ修正プログラムが含まれます。 ご使用のバージョンの SQL Server 用の最新ビルドをインストールすることをお勧めします。
SQL Server 2017 の最新の累積的な更新プログラム
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
参考資料
マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。