KB4578496 - 修正: SQL Server 2016 および 2017 で一時テーブルのキャッシュストア メモリ オブジェクトの競合が原因で CMEMTHREAD 待機が発生すると、パフォーマンスが低下する

適用先
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 2 SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

現象

Microsoft SQL Server 2016 および 2017 では、一時テーブルのキャッシュストア メモリ オブジェクトの競合により CMEMTHREAD 待機が発生し、パフォーマンスが低下します。

原因

格納されているプロセッサに一時テーブルを作成する高度に同時実行される Tempdb ワークロードでは、一時テーブルのキャッシュストア メモリ オブジェクトに関する競合が大きくなります。 これは主に、多くの同時ワーカーが一時テーブルの作成/ドロップを試みると、キャッシュ ストア メモリ オブジェクトでの競合により CMEMTHREAD が待機する場合に発生します。 キャッシュストアのメモリ オブジェクトは現在パーティション化されていないため、すべてのスレッドでメモリ オブジェクトの競合が発生します。

状態

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

解決策

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

メモ: 修正の解決策は、パフォーマンスを向上させるメモリ オブジェクトを (CPU によって) パーティション分割することです。

        

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

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

参考資料

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