適用先
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 1 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で AUDIT_LOGIN イベントと AUDIT_LOGIN_FAILED イベントに対してイベント通知を使用するスクリプトを作成していることを前提とします。 スクリプトを実行すると、TempDB のサイズが急速に増大していることがわかります。

次のクエリを使用して、TempDB 内部オブジェクトに割り当てられている領域が適切に解放されているかどうかを確認できます。

SELECT *
FROM (
SELECT  TS.internal_objects_alloc_page_count , TS.internal_objects_dealloc_page_count, [Net Allocation MB] = CAST((TS.internal_objects_alloc_page_count - TS.internal_objects_dealloc_page_count) AS DECIMAL(15, 2)) / 128
  , TS.session_id
  , ER.command
FROM    sys.dm_db_task_space_usage TS
   INNER JOIN sys.dm_exec_requests ER ON ER.request_id = TS.request_id AND ER.session_id = TS.session_id
where TS.session_id < 50
) internal
where [Net Allocation MB] != 0

原因

この問題は、 SQL Server 2016 Service Pack 1 の累積更新プログラム 6での回帰が原因で発生します。

解決方法

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

       SQL Server 2017 の累積更新プログラム10

       SQL Server 2016 SP2 の累積更新プログラム2

       SQL Server 2016 SP1 の累積更新プログラム10

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

SQL Server 2017 の最新の累積的な更新プログラム

SQL Server 2016 の最新の累積的な更新プログラム

状態

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

関連情報

ソフトウェアの更新を説明するために Microsoft が使用する 用語について説明します。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。