Sintomi
Supponiamo di avere uno script che usa le notifiche degli eventi per AUDIT_LOGIN e AUDIT_LOGIN_FAILED eventi in Microsoft SQL Server 2016 e 2017. Quando si esegue lo script, si noterà che il database TempDB cresce rapidamente in dimensioni.
Puoi usare la query seguente per verificare se lo spazio allocato agli oggetti interni di TempDB viene deallocato correttamente.
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
Causa
Questo problema si verifica a causa di una regressione nell' aggiornamento cumulativo 6 per SQL Server 2016 Service Pack 1.
Risoluzione
Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:
Aggiornamento cumulativo 10 per SQL Server 2017
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologiautilizzata da Microsoft per descrivere gli aggiornamenti software.