Belirtiler
Microsoft SQL Server 2016 ve 2017'de AUDIT_LOGIN ve AUDIT_LOGIN_FAILED olayları için olay bildirimlerini kullanan bir betiğiniz olduğunu varsayalım. Betiği çalıştırdığınızda, TempDB'nin boyutunun hızla büyüdüğünü fark edeceksiniz.
TempDB iç nesnelerine ayrılan alanın doğru şekilde ayrılıp ayrılmadığını kontrol etmek için aşağıdaki sorguyu kullanabilirsiniz.
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
Neden
Bu sorun, SQL Server 2016 Service Pack 1 için Toplu Güncelleştirme 6'daki gerileme nedeniyle oluşur.
Çözüm
Bu sorun, SQL ServerSQL Server için aşağıdaki toplu güncelleştirmelerde düzeltildi:
Cumulative Update 10 for SQL ServerSQL Server 2017
SQL Server 2016 SP2 için Toplu Güncelleştirme 2
SQL Server 2016 SP1 için Toplu Güncelleştirme 10
SQL Server toplu güncelleştirmeleri hakkında:
SQL Server için her yeni toplu güncelleştirme, önceki toplu güncelleştirmeye dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. SQL Server için en son toplu güncelleştirmelere göz atın:
En son toplu güncelleştirme SQL ServerSQL Server 2017
SQL Server 2016 için en son toplu güncelleştirme
Durum
Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.
Başvurular
Microsoft'un yazılım güncelleştirmelerini tanımlamak için kullandığı terminoloji hakkında bilgi edinin.