CORREÇÃO: Notificações de eventos para eventos AUDIT_LOGIN e AUDIT_LOGIN_FAILED fará com que um crescimento incomum de TempDB no SQL Server 2016 e 2017

Aplica-se a: SQL Server 2016 DeveloperSQL Server 2016 EnterpriseSQL Server 2016 Enterprise Core

Sintomas


Suponha que você tenha um script que usa notificações de eventos para eventos AUDIT_LOGIN e AUDIT_LOGIN_FAILED no Microsoft SQL Server 2016 e 2017. Quando você executa o script, você irá notar que o TempDB cresce rapidamente em tamanho.

Você pode usar o abaixo consulta para verificar se o espaço alocado para objetos internos de TempDB corretamente é desalocado.

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

Causa


Esse problema ocorre devido a uma regressão em 6 de atualização cumulativa para SQL Server 2016 Service Pack 1.

Status


A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".

Referências


Saiba mais sobre a terminologia usada pela Microsoft para descrever as atualizações de software.