Assume that you have a script that uses event notifications for AUDIT_LOGIN and AUDIT_LOGIN_FAILED events in Microsoft SQL Server 2016 and 2017. When you run the script, you will notice that the TempDB grows rapidly in size.

You can use the below query to check if space allocated to TempDB internal objects is correctly deallocated.

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


This issue occurs because of a regression in Cumulative Update 6 for SQL Server 2016 Service Pack 1.


This issue is fixed in the following cumulative updates for SQL Server:

       Cumulative Update 10 for SQL Server 2017

       Cumulative Update 2 for SQL Server 2016 SP2

       Cumulative Update 10 for SQL Server 2016 SP1

Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

Latest cumulative update for SQL Server 2017

Latest cumulative update for SQL Server 2016


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.


Learn about the terminologythat Microsoft uses to describe software updates.

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

What affected your experience?

Any additional feedback? (Optional)

Thank you for your feedback!