Simptomi
Pieņemsim, ka jums ir skripts, kurā tiek izmantoti notikumu paziņojumi AUDIT_LOGIN un AUDIT_LOGIN_FAILED notikumiem programmā Microsoft SQL Server 2016 un 2017. Palaižot skriptu, jūs ievērosit, ka TempDB strauji pieaug.
Tālāk esošo vaicājumu var izmantot, lai pārbaudītu, vai TempDB iekšējiem objektiem piešķirtā vieta ir pareizi atdalīta.
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
Cēlonis
Šī problēma rodas tāpēc, ka ir regresija kumulatīvajā atjauninājumā 6 SQL Server 2016 1. servisa pakotnei.
Risinājums
Šī problēma ir novērsta tālāk norādītajos kumulatīvajos SQL Server atjauninājumos:
Kumulatīvais atjauninājums 10 SQL Server 2017
Katrā jaunajā kumulatīvajā SQL Server atjauninājumā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos kumulatīvos atjauninājumus SQL Server:
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".
Atsauces
Uzziniet par terminoloģiju, ko Microsoft izmanto, lai aprakstītu programmatūras atjauninājumus.