Požymiai
Tarkime, naudojate "Microsoft „SQL Server“ 2016" ir "Microsoft SQL Server" 2017. Jei įgalinsite įvykio xml_deadlock_report rinkti duomenis apie aklavietes, daug xml_deadlock_report įvykių bus pranešami vienam užklausos viduje veikiančiam aklavietei.
Sprendimo būdas
Norėdami išspręsti šią problemą, galite surinkti error_reported XEvent naudodami filtrą error_number = 1205 , o ne xml_deadlock_report, kaip parodyta šiame pavyzdyje:
Pastaba
- KURTI ĮVYKIO SEANSĄ [Deadlock_Collection] SERVERYJE
- ĮTRAUKTI ĮVYKĮ sqlserver.error_reported(
- WHERE ([error_number]=(1205)))
- ĮTRAUKTI PASKIRTIES PAKETĄ0.histogram(SET filtering_event_name=N'sqlserver.lock_acquired',source=N'sqlserver.query_hash')
- SU (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SEKUNDŽIŲ,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NĖRA,TRACK_CAUSALITY=ĮJUNGTA,STARTUP_STATE=IŠJUNGTA)
- GO
Sprendimas
Ši problema išspręsta šiuose kaupiamuosiuose "„SQL Server“" naujinimuose:
10 kaupiamasis naujinimas, skirtas „SQL Server“ 2017
2 kaupiamasis naujinimas, skirtas „SQL Server“ 2016 SP2
Pastaba: Taikant šią pataisą, nepranešama apie xml_deadlock_report įvykius užklausos viduje, kai aklavietę galima išspręsti neužmušant gijos.
Apie "„SQL Server“" kaupiamuosius naujinimus:
Kiekviename naujame „SQL Server“ kaupiamajame naujinime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį kaupiamąjį naujinimą. Peržiūrėkite naujausius "„SQL Server“" kaupiamuosius naujinimus:
Naujausias "„SQL Server“ 2017" kaupiamasis naujinimas
Naujausias kaupiamasis naujinimas, skirtas „SQL Server“ 2016
Būsena
„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.
Nuorodos
Sužinokite daugiau apie terminus, kuriuos „„Microsoft““ naudoja apibūdindama programinės įrangos naujinimus.