Symptomen
Stel dat u een script hebt dat gebeurtenismeldingen voor AUDIT_LOGIN en AUDIT_LOGIN_FAILED gebeurtenissen gebruikt in microsoft SQL Server 2016 en 2017. Wanneer u het script uitvoert, ziet u dat de TempDB snel groter wordt.
Met behulp van de onderstaande query kunt u controleren of de ruimte die is toegewezen aan TempDB interne objecten correct is vrijgegeven.
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
Oorzaak
Dit probleem doet zich voor vanwege een regressie in cumulatieve update 6 voor SQL Server 2016 Service Pack 1.
Oplossing
Dit probleem is opgelost in de volgende cumulatieve updates voor SQL Server:
Cumulatieve update 10 voor SQL Server 2017
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige cumulatieve update. Bekijk de nieuwste cumulatieve updates voor SQL Server:
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Verwijzingen
Lees meer over de terminologiedie door Microsoft wordt gebruikt om software-updates te beschrijven.