Συμπτώματα
Εξετάστε το ακόλουθο σενάριο στον Microsoft SQL Server Compact 3,5:
-
Έχετε δύο συναλλαγές απομόνωσης με δυνατότητα σειριοποίησης.
-
Και οι δύο συναλλαγές προσπαθούν να εκτελέσουν μια λειτουργία ΟΘΔ (Query/ΟΘΔ) στον ίδιο πίνακα που περιέχει μια υπόδειξη κλειδώματος TABLOCK ή μια υπόδειξη κλειδώματος του XLOCK.
Σε αυτό το σενάριο, αντιμετωπίζετε ένα αδιέξοδο.
Αιτία
Αυτό το πρόβλημα παρουσιάζεται επειδή και οι δύο συναλλαγές αναμένονται μεταξύ τους για το XLOCK. Όταν το ερώτημα γίνεται μεταγλωττισμένο, και οι δύο συναλλαγές λαμβάνουν το κοινόχρηστο κλείδωμα στον πίνακα και, στη συνέχεια, κρατούν το κλείδωμα για απομόνωση με δυνατότητα σειριοποίησης. Όταν και οι δύο συναλλαγές επιχειρούν να εκτελέσουν μια εκτέλεση, το ερώτημα στον ίδιο πίνακα που περιέχει μια υπόδειξη κλειδώματος XLOCK και, στη συνέχεια, και οι δύο συναλλαγές αναμένονται το ένα το άλλο για το XLOCK. Επομένως, προκύπτει αδιέξοδο.Σημείωση Αυτό το πρόβλημα παρουσιάζεται επίσης όταν και οι δύο συναλλαγές εκτελούν μια λειτουργία ΟΘΔ στον ίδιο πίνακα που περιέχει μια υπόδειξη κλειδώματος του TABLOCK.
Επίλυση
SQL Server Compact 3,5 Service Pack 2
Η επιδιόρθωση για αυτό το πρόβλημα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 2. Για περισσότερες πληροφορίες σχετικά με τον τρόπο απόκτησης αυτού του πακέτου αθροιστικής ενημερωμένης έκδοσης για τον SQL Server 2008 R2, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2289547 Αθροιστική ενημερωμένη έκδοση 2 για τον SQL Server Compact 3,5 Service Pack 2
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα πρόβλημα στα προϊόντα της Microsoft που παρατίθενται στην ενότητα "ισχύει για".
Περισσότερες πληροφορίες
Για περισσότερες πληροφορίες σχετικά με το αδιέξοδο, επισκεφθείτε την ακόλουθη τοποθεσία Web του Microsoft Developer Network (MSDN):
ΑδιέξοδοΓια περισσότερες πληροφορίες σχετικά με το ΟΘΔ, επισκεφθείτε την ακόλουθη τοποθεσία Web του MSDN:
ΟΘΔΓια περισσότερες πληροφορίες σχετικά με την ορολογία ενημερώσεων λογισμικού, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
824684 Περιγραφή της βασικής ορολογίας που χρησιμοποιείται για την περιγραφή ενημερώσεων λογισμικού της Microsoft