Симптоми
Приемете, че имате скрипт, който използва уведомления за събития за AUDIT_LOGIN и AUDIT_LOGIN_FAILED събития в Microsoft SQL Server 2016 и 2017. Когато изпълните скрипта, ще забележите, че TempDB нараства бързо в размер.
Можете да използвате заявката по-долу, за да проверите дали разредката, заделена за TempDB на вътрешни обекти, е отказана правилно.
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
Причина
Този проблем възниква поради регресия в кумулативната актуализация 6 за SQL Server 2016 Service Pack 1.
Решение
Този проблем е коригиран в следните сборни актуализации за SQL Server:
Кумулативна актуализация 10 за SQL Server 2017
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".
Препратки
Научете повече за терминологията, която Microsoft използва, за да опише софтуерни актуализации.