Symptomen
Ga ervan uit dat u Microsoft SQL Server 2016 en 2017 gebruikt. Als u de gebeurtenis xml_deadlock_report om gegevens te verzamelen voor deadlocks, worden veel xml_deadlock_report gebeurtenissen gerapporteerd voor één enkelvoudige eenmalige query-deadlock.
Workaround
Als tijdelijke oplossing voor dit probleem kunt u de error_reported XEvent verzamelen met behulp van een filter error_number = 1205 in plaats van xml_deadlock_report, zoals in het volgende voorbeeld wordt weergegeven:
Een GEBEURTENISSESSIE maken [Deadlock_Collection] op SERVER
Sqlserver.error_reported voor gebeurtenissen toevoegen (
WHERE ([error_number] = (1205))))
ADD TARGET package0. histogram (SET filtering_event_name = N ' sqlserver.lock_acquired ', Source = N ' sqlserver.query_hash ')
MET (MAX_MEMORY = 4096 KB, EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS, MAX_DISPATCH_LATENCY = 30 SECONDEN, MAX_EVENT_SIZE = 0 KB, MEMORY_PARTITION_MODE = GEEN, TRACK_CAUSALITY = AAN, STARTUP_STATE = UIT)
GO
Oplossing
Dit probleem is opgelost in de volgende cumulatieve updates voor SQL Server:
Cumulatieve update 10 voor SQL Server 2017
Cumulatieve update 2 voor SQL Server 2016 SP2
ZietMet deze oplossing worden geen xml_deadlock_report gebeurtenissen gerapporteerd voor de intra-query-deadlock wanneer de deadlock kan worden opgelost zonder een thread te doden.
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.