Συμπτώματα
Ας υποθέσουμε ότι χρησιμοποιείτε τον Microsoft SQL Server 2016 και το 2017. Εάν ενεργοποιήσετε το συμβάν xml_deadlock_report για να συλλέξετε δεδομένα για αδιέξοδα, πολλά xml_deadlock_report συμβάντα αναφέρονται για μία μεμονωμένη εμφάνιση αδιεξόδου εντός ερωτήματος.
Λύση
Ως λύση για αυτό το ζήτημα, μπορείτε να συλλέξετε το error_reported XEvent χρησιμοποιώντας ένα φίλτρο error_number = 1205 αντί για xml_deadlock_report, όπως φαίνεται στο παρακάτω παράδειγμα:
ΔΗΜΙΟΥΡΓΊΑ περιόδου λειτουργίας ΣΥΜΒΆΝΤΟς [Deadlock_Collection] στο διακομιστή
Προσθήκη SQLServer.error_reported συμβάντος (
Πού ([error_number] = (1205)))
Προσθήκη προορισμού package0. ιστόγραμμα (Ορίστε filtering_event_name = N ' sqlserver.lock_acquired ', Source = N ' sqlserver.query_hash ')
ΜΕ (MAX_MEMORY = 4096 KB, EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS, MAX_DISPATCH_LATENCY = 30 ΔΕΥΤΕΡΌΛΕΠΤΑ, MAX_EVENT_SIZE = 0 KB, MEMORY_PARTITION_MODE = NONE, TRACK_CAUSALITY = ON, STARTUP_STATE = OFF)
Πάμε
Επίλυση
Αυτό το ζήτημα διορθώνεται με τις ακόλουθες αθροιστικές ενημερώσεις για τον SQL Server:
Αθροιστική ενημερωμένη έκδοση 10 για τον SQL Server 2017
Αθροιστική ενημερωμένη έκδοση 2 για τον SQL Server 2016 SP2
ΣημείωσηΜε αυτήν την επιδιόρθωση, δεν αναφέρονται xml_deadlock_report συμβάντα για την αδιέξοδη κατάσταση εντός ερωτήματος, όταν μπορεί να επιλυθεί το αδιέξοδο χωρίς να σκοτώσει ένα νήμα.
Κάθε νέα αθροιστική ενημέρωση για τον SQL Server περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις επιδιορθώσεις ασφαλείας που συμπεριλήφθηκαν στην προηγούμενη αθροιστική ενημέρωση. Ανάληψη ελέγχου των πιο πρόσφατων αθροιστικών ενημερώσεων για τον SQL Server:
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα πρόβλημα στα προϊόντα της Microsoft που παρατίθενται στην ενότητα "ισχύει για".
Αναφορές
Μάθετε περισσότερα σχετικά με την ορολογίαπου χρησιμοποιεί η Microsoft για την περιγραφή ενημερώσεων λογισμικού.