FIX: Event notifications for AUDIT_LOGIN and AUDIT_LOGIN_FAILED events will cause an unusual growth of TempDB in SQL Server 2016 and 2017

Applies to: SQL Server 2016 DeveloperSQL Server 2016 EnterpriseSQL Server 2016 Enterprise Core


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 *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.commandFROM    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_idwhere TS.session_id < 50) internalwhere [Net Allocation MB] != 0


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



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


Learn about the terminology that Microsoft uses to describe software updates.