Symptom
Anta att du använder Microsoft SQL Server 2016 och 2017. Om du aktiverar händelse xml_deadlock_report för att samla in data för död lägen rapporteras många xml_deadlock_report händelser för en enda död mellan olika frågor.
Lösning
Som en lösning på det här problemet kan du samla in error_reported XEvent med hjälp av ett filter error_number = 1205 i stället för xml_deadlock_report, enligt följande exempel:
Skapa HÄNDELSESESSIONEN [Deadlock_Collection] på servern
Lägga till händelse SQLServer.error_reported (
WHERE ([error_number] = (1205)))
Lägg till mål package0. histogram (ange filtering_event_name = N ' sqlserver.lock_acquired ', Source = N ' sqlserver.query_hash ')
MED (MAX_MEMORY = 4096 KB, EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS MAX_DISPATCH_LATENCY = 30 SEKUNDER, MAX_EVENT_SIZE = 0 KB, MEMORY_PARTITION_MODE = INGEN, TRACK_CAUSALITY = PÅ, STARTUP_STATE = AV)
ANVÄNDER
Lösning
Det här problemet är åtgärdat i följande kumulativa uppdateringar för SQL Server:
Kumulativ uppdatering 10 för SQL Server 2017
Kumulativ uppdatering 2 för SQL Server 2016 SP2
FotnotMed den här korrigeringen rapporteras inga xml_deadlock_report händelser för död lägen inom frågan när död läge kan lösas utan att avsluta en tråd.
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".
Referenser
Lär dig mer om terminologinsom Microsoft använder för att beskriva program varu uppdateringar.