KB4338715 – KORJAUS: Useita xml_deadlock_report tapahtumia raportoidaan yksittäisestä kyselynsisäisestä lukkiutumisesta SQL Server 2016:ssa ja 2017:ssä

Käytetään kohteeseen
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer SQL Server 2017 Enterprise Core SQL Server 2017 Enterprise

Ongelman ilmenemistapa

Oletetaan, että käytät Microsoft SQL Server 2016:ta ja 2017:ää. Jos otat käyttöön tapahtuman xml_deadlock_report kerätä tietoja lukkiutumista varten, useita xml_deadlock_report tapahtumia raportoidaan yhdelle kyselyn sisäiselle lukkiutumistapahtumalle.

Vaihtoehtoinen menetelmä

Tämän ongelman vaihtoehtoisena menetelmänä voit kerätä error_reported XEvent käyttämällä suodatinta error_number = 1205xml_deadlock_report:n sijaan, kuten seuraavassa esimerkissä:

Huomautus

  • LUO TAPAHTUMAISTUNTO [Deadlock_Collection] PALVELIMESSA
  • ADD EVENT sqlserver.error_reported(
  • WHERE ([error_number]=(1205)))
  • ADD TARGET package0.histogram(SET filtering_event_name=N'sqlserver.lock_acquired',source=N'sqlserver.query_hash')
  • WITH (MAX_MEMORY=4096 kt,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SEKUNTIA,MAX_EVENT_SIZE=0 kt,MEMORY_PARTITION_MODE=EI MITÄÄN,TRACK_CAUSALITY=KÄYTÖSSÄ,STARTUP_STATE=EI KÄYTÖSSÄ)
  • SIIRRY

Ratkaisu

Tämä ongelma on korjattu seuraavissa SQL Server kumulatiivisissa päivityksissä:

SQL Server 2017:n kumulatiivinen päivitys 10

SQL Server 2016 SP2:n kumulatiivinen päivitys 2

Huomautus: Tämän korjauksen ansiosta xml_deadlock_report tapahtumia ei raportoida kyselyn sisäisestä lukkiutumisesta, kun lukkiutuminen voidaan ratkaista sulkematta säiettä.

Tietoja SQL Server:n kumulatiivisista päivityksistä:

Jokainen uusi SQL Server -kumulatiivinen päivitys sisältää kaikki edelliseen kumulatiiviseen päivitykseen sisältyvät hotfix-korjaukset ja tietoturvakorjaukset. Tutustu SQL Serverin uusimpiin kumulatiivisiin päivityksiin:

SQL Server 2017:n uusin kumulatiivinen päivitys

SQL Server 2016:n uusin kumulatiivinen päivitys

Tila

Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.

Viitteet

Lue tietoja Microsoftin ohjelmistopäivitystensä kuvaamiseen käyttämästä sanastosta.