KB4577976 - 修正: SQL Server 2017 および 2019 で多数の同時ストアド プロシージャを実行するときに COMPILE ブロックが発生する

適用先
SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Standard on Windows SQL Server 2019 on Windows

現象

SQL Server 2017 および 2019 で自動クエリ チューニングを有効にするとします。 多数の同時ストアド プロシージャを実行すると、次の条件で COMPILE ブロック シナリオが発生することがあります。

  1. ストアド プロシージャを実行します。
  2. クエリ データ ストア (QDS) を使用して、計画を強制します。
  3. ストアド プロシージャで sp_recompile を実行して、プロシージャ キャッシュからプランを強制的に削除します。
  4. ストアド プロシージャを多数の個別のセッションで同時に実行します。

原因

クエリ データ ストアを使用してプランを強制し、プロシージャ キャッシュから削除した後、プランはキャッシュされなくなり、同時実行はコンパイル ブロックになります。

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

解決策

この問題は、次の SQL Server の累積的な更新プログラムで修正されています。

SQL Server の累積的な更新プログラムについて:

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

参考資料

マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。