Príznaky
Predpokladajme, že používate Microsoft SQL Server 2016 a 2017. Ak zapnete udalosť xml_deadlock_report na zhromažďovanie údajov pre uviaznutie, mnohé xml_deadlock_report udalosti sa hlásia pre jeden jeden prípad zablokovania v rámci dotazu.
Alternatívne riešenie
Ako alternatívne riešenie tohto problému môžete error_reported XEvent pomocou filtra error_number = 1205 namiesto xml_deadlock_report, ako je to vidieť v nasledujúcom príklade:
VYTVORENIE relácie udalostí [Deadlock_Collection] na serveri
Pridanie SqlServer.error_reported udalostí (
WHERE ([error_number] = (1205)))
Pridať CIEĽovú package0. Histogram (SET filtering_event_name = N ' sqlserver.lock_acquired ', source = N ' sqlserver.query_hash ')
S (MAX_MEMORY = 4096 KB, EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS, MAX_DISPATCH_LATENCY = 30 SEKÚND, MAX_EVENT_SIZE = 0 KB, MEMORY_PARTITION_MODE = NONE, TRACK_CAUSALITY = ON, STARTUP_STATE = OFF)
ÍSŤ
Riešenie
Tento problém je vyriešený v nasledujúcich kumulatívnych aktualizáciách pre SQL Server:
Kumulatívna aktualizácia 10 pre SQL Server 2017
Kumulatívna aktualizácia 2 pre SQL Server 2016 SP2
PoznámkaPri tejto oprave sa neuvádzajú žiadne udalosti xml_deadlock_report pri zablokovaní v rámci dotazu, keď je možné odstrániť zablokovanie bez zavraždenia vlákna.
Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Odkazy
Oboznámte sa s terminológiou, ktorú spoločnosť Microsoft používa na popis aktualizácií softvéru.