ΕΠΙΔΙΌΡΘΩΣΗ: Καταστροφή δεδομένων παρουσιάζεται όταν γίνεται φόρτωση δεδομένων LOB σε μεταβλητή Transact-SQL στο SQL Server 2008 R2, 2012 διακομιστή SQL ή στο SQL Server 2008

Συμπτώματα

Όταν εκτελείτε ένα ερώτημα το οποίο περιέχει μεγάλο αντικείμενο (LOB) δεδομένα για να φορτώσετε στη μεταβλητή Transact-SQL στον Microsoft SQL Server 2008, 2012 του Microsoft SQL Server ή Microsoft SQL Server 2008 R2, συμβαίνει καταστροφή δεδομένων. Για παράδειγμα, μπορείτε να εκτελέσετε το παρακάτω ερώτημα για να αντιγράψετε δεδομένα XML από μια στήλη βάσης δεδομένων σε μια μεταβλητή XML:
Declare @OUTXML as XMLSELECT @OUTXML = DataXml FROM Table_1 WHERE id=1  

Σε αυτήν την περίπτωση, την πρόταση SELECT εκτελείται, όταν άλλα νήματα, προσπαθήστε να ενημερώσετε την ίδια στήλη XML. Αυτή η συμπεριφορά ενδέχεται να προκαλέσει καταστροφή δεδομένων. Επιπλέον, λαμβάνετε ένα από τα ακόλουθα μηνύματα λάθους όταν εκτελείτε οποιαδήποτε ανάγνωση και η λειτουργία στη στήλη κατεστραμμένη XML εγγραφής:
  • Ο τύπος δεδομένων XML είναι κατεστραμμένο.
  • Παρουσιάστηκε μη αναμενόμενο τέλος αρχείου.
Σημειώσεις
  • Το ζήτημα προκύπτει συνήθως κατά υψηλό φόρτο ταυτόχρονες λειτουργίες.
  • Όταν χρησιμοποιείτε έναν παράγοντα ανάγνωσης του αρχείου καταγραφής για να διαβάσετε τα κατεστραμμένα δεδομένα XML από έναν πίνακα που αποτελεί τμήμα μιας λίστας άρθρο δημοσίευση για αναπαραγωγή συναλλαγών, λαμβάνετε το ακόλουθο μήνυμα λάθους:

    Ο τύπος δεδομένων XML είναι κατεστραμμένο. (Προέλευση: MSSQLServer, αριθμός σφάλματος: 6611)

Αιτία

Αυτό το ζήτημα παρουσιάζεται επειδή μια κλειδαριά στη στήλη δεδομένων LOB κυκλοφορήσει πριν τα δεδομένα LOB αντιγράφεται από τη στήλη βάσης δεδομένων στη μεταβλητή τύπου δεδομένων LOB. Οποιοδήποτε ερώτημα ταυτόχρονες να ενημερώσετε τα ίδια δεδομένα LOB πριν ολοκληρωθεί η διαδικασία αντιγραφής κατά τη διάρκεια της διαδικασίας αντιγραφής. Επομένως, συμβαίνει καταστροφή δεδομένων.

Προτεινόμενη αντιμετώπιση

Πληροφορίες αθροιστικής ενημερωμένης έκδοσης

Αθροιστική ενημερωμένη έκδοση 7 για SQL Server 2012

Η ενημέρωση κώδικα για αυτό το ζήτημα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 7. Για περισσότερες πληροφορίες σχετικά με τον τρόπο απόκτησης αυτού του πακέτου αθροιστική ενημερωμένη έκδοση για τον SQL Server 2012, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2823247 συγκεντρωτική ενημερωμένη έκδοση πακέτου 7 για SQL Server 2012
Σημείωση Επειδή το build που είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με το προηγούμενο 2012 του SQL Server έκδοση της ενημέρωσης κώδικα. Συνιστούμε ότι μπορείτε να εξετάσουν την εφαρμογή της πιο πρόσφατης έκδοσης της ενημέρωσης κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2692828 το 2012 διακομιστή SQL δημιουργεί που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2012

Αθροιστική ενημερωμένη έκδοση 12 για SQL Server 2008 R2 Service Pack 1

Η ενημέρωση κώδικα για αυτό το ζήτημα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 12. Για περισσότερες πληροφορίες σχετικά με τον τρόπο απόκτησης αυτού του πακέτου αθροιστική ενημερωμένη έκδοση για τον SQL Server 2008 R2 Service Pack 1, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2828727 συγκεντρωτική ενημερωμένη έκδοση πακέτου 12 για SQL Server 2008 R2 Service Pack 1
Σημείωση Επειδή το build που είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με το προηγούμενο SQL Server 2008 R2 Service Pack 1 έκδοση της ενημέρωσης κώδικα. Συνιστούμε ότι μπορείτε να εξετάσουν την εφαρμογή της πιο πρόσφατης έκδοσης της ενημέρωσης κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2567616 του SQL Server 2008 R2 δημιουργεί που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 R2 Service Pack 1

Αθροιστική ενημερωμένη έκδοση 10 για SQL Server 2008 Service Pack 3

Η ενημέρωση κώδικα για αυτό το ζήτημα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 10. Για περισσότερες πληροφορίες σχετικά με τον τρόπο απόκτησης αυτού του πακέτου αθροιστική ενημερωμένη έκδοση για τον SQL Server 2008 Service Pack 3, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2814783 συγκεντρωτική ενημερωμένη έκδοση πακέτου 10 για SQL Server 2008 Service Pack 3
Σημείωση Επειδή το build που είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με το προηγούμενο SQL Server 2008 Service Pack 3 έκδοση της ενημέρωσης κώδικα. Συνιστούμε ότι μπορείτε να εξετάσουν την εφαρμογή της πιο πρόσφατης έκδοσης της ενημέρωσης κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2629969 του SQL Server 2008 δημιουργεί που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 Service Pack 3

Αθροιστική ενημερωμένη έκδοση 5 για SQL Server 2008 R2 Service Pack 2 (SP2)

Η ενημέρωση κώδικα για αυτό το ζήτημα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 5. Για περισσότερες πληροφορίες σχετικά με τον τρόπο απόκτησης αυτού του πακέτου αθροιστική ενημερωμένη έκδοση για τον SQL Server 2008 R2 S2008 R2 SP2, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2797460 συγκεντρωτική ενημερωμένη έκδοση πακέτου 5 για τον SQL Server 2008 R2 S2008 R2 SP2
Σημείωση Επειδή το build που είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με το προηγούμενο SQL Server 2008 R2 S2008 R2 SP2 έκδοση της ενημέρωσης κώδικα. Συνιστούμε ότι μπορείτε να εξετάσουν την εφαρμογή της πιο πρόσφατης έκδοσης της ενημέρωσης κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2730301 του SQL Server 2008 R2 δημιουργεί που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 R2 Service Pack 2

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".


Ιδιότητες

Αναγνωριστικό άρθρου: 2803994 - Τελευταία αναθεώρηση: 11 Ιαν 2017 - Αναθεώρηση: 2

Σχόλια