Gejala
Misalnya Anda menggunakan Microsoft SQL Server 2016 dan 2017. Jika Anda mengaktifkan acara xml_deadlock_report untuk mengumpulkan data untuk kemogokan, banyak kejadian xml_deadlock_report yang dilaporkan untuk satu kejadian kemacetan intra-kueri tunggal.
Penyelesaian Masalah
Sebagai solusi untuk masalah ini, Anda bisa mengumpulkan error_reported XEvent dengan menggunakan filter error_number = 1205 dan bukan xml_deadlock_report, seperti yang terlihat dalam contoh berikut:
MEMBUAT acara sesi [Deadlock_Collection] di SERVER
Tambahkan acara SQLServer.error_reported (
WHERE ([error_number] = (1205)))
Tambahkan TARGET package0. histogram (Atur filtering_event_name = N ' sqlserver.lock_acquired ', Source = N ' sqlserver.query_hash ')
DENGAN (MAX_MEMORY = 4096 KB, EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS, MAX_DISPATCH_LATENCY = 30 SECONDS, MAX_EVENT_SIZE = 0 KB, MEMORY_PARTITION_MODE = NONE, TRACK_CAUSALITY = ON, STARTUP_STATE = OFF)
MELEP
Pemecahan Masalah
Masalah ini telah diperbaiki dalam pembaruan kumulatif berikut ini untuk SQL Server:
Pembaruan kumulatif 10 untuk SQL Server 2017
Pembaruan kumulatif 2 untuk SQL Server 2016 SP2
AnDengan perbaikan ini, tidak ada kejadian xml_deadlock_report yang dilaporkan untuk kemacetan intra-kueri saat kemacetan dapat diatasi tanpa membunuh utas.
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".
Referensi
Pelajari tentang terminologiyang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.