Μετάβαση στο κύριο περιεχόμενο
Υποστήριξη
Είσοδος με Microsoft
Είσοδος ή δημιουργία λογαριασμού.
Γεια σας,
Επιλέξτε διαφορετικό λογαριασμό.
Έχετε πολλούς λογαριασμούς
Επιλέξτε τον λογαριασμό με τον οποίο θέλετε να εισέλθετε.

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο:

  • Μπορείτε να χρησιμοποιήσετε sp_cdc_cleanup_change_table για να διαχειριστείτε τη διαδικασία εκκαθάρισης πίνακα αλλαγών.

  • Προκύπτει ένα σφάλμα μεταξύ της σάρωσης καταγραφής δεδομένων αλλαγής (CDC) και της εκκαθάρισης ΤΟΥ CDC κατά την κλήση sp_cdc_cleanup_change_table .

Σε αυτό το σενάριο, προκύπτει το ακόλουθο σφάλμα 22852 με επίπεδο σοβαρότητας 10 (ενημερωτικό μήνυμα):

Δεν ήταν δυνατή η διαγραφή των καταχωρήσεων του πίνακα αλλαγών που έχουν καταργηθεί από μια αλλαγή σε ένα ή περισσότερα χαμηλά σημάδια υδατολογήματος για την καταγραφή εμφανίσεων βάσεων δεδομένων <όνομα_βάσης δεδομένων>. Παρουσιάστηκε σφάλμα κατά την εκτέλεση της εντολής <commandName>. Το σφάλμα που επιστρέφεται ήταν <> ErrorInfo .

Χρησιμοποιήστε την ενέργεια και το σφάλμα για να προσδιορίσετε την αιτία της αποτυχίας και να υποβάλετε ξανά την αίτηση.

Σημείωση Επειδή πρόκειται για ένα ενημερωτικό μήνυμα, η διαδικασία εκκαθάρισης δεν αποτυγχάνει και δεν υπάρχει τρόπος να προσδιορίσετε εάν η εκκαθάριση ολοκληρωθεί με επιτυχία ή εάν αποτύχει.

Λεπτομέρειες σχετικά με την επιδιόρθωση

Για να προσδιορίσετε εάν η εκκαθάριση είναι επιτυχής ή αποτυγχάνει όταν χρησιμοποιείτε sp_cdc_cleanup_change_table, προστίθεται μια προαιρετική παράμετρος εξόδου (f CleananupFailed bit) στη συνάρτηση sp_cdc_cleanup_change_table . Αυτό μπορεί να χρησιμοποιηθεί για να ελέγξετε εάν η εκκαθάριση τυχόν παρουσίες καταγραφής αποτυγχάνει. Εάν το αποτέλεσμα του στοιχείου f CleananupFailed είναι 0, η εκκαθάριση ολοκληρώθηκε με επιτυχία. Εάν είναι 1, τουλάχιστον η εκκαθάριση μίας παρουσίας καταγραφής αποτυγχάνει. Ακολουθεί ένα παράδειγμα:

-- Δηλώνοντας πρώτα μια μεταβλητή και ορίζοντας την τιμή μηδέν 

select @cleanup_failed_bit = 0

--Execute cleanup and obtain output bit

EXEC @retcode =sys.sp_cdc_cleanup_change_table

@capture_instance = '<CaptureInstance>',

@low_water_mark = @LSN,

@threshold = 1 ,

@fCleanupFailed = @cleanup_failed_bit output      

--Leverage @cleanup_failed_bit output to check the status.

Επίλυση

Αυτό το πρόβλημα έχει διορθωθεί στις ακόλουθες αθροιστικές ενημερώσεις για SQL Server:

Κάθε νέα αθροιστική ενημέρωση για SQL Server περιέχει όλες τις επιδιορθώσεις ασφαλείας και τις επιδιορθώσεις ασφαλείας που υπήρχαν στην προηγούμενη δομή. Συνιστάται να εγκαταστήσετε την πιο πρόσφατη έκδοση για την έκδοση του SQL Server που διαθέτετε:

Κατάσταση

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

Αναφορές

Μάθετε για την ορολογία που χρησιμοποιεί η Microsoft για να περιγράφει τις ενημερώσεις λογισμικού.

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.

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

Σας βοήθησαν αυτές οι πληροφορίες;

Πόσο ικανοποιημένοι είστε με τη γλωσσική ποιότητα;
Τι επηρέασε την εμπειρία σας;
Πατώντας "Υποβολή" τα σχόλια σας θα χρησιμοποιηθούν για τη βελτίωση των προϊόντων και των υπηρεσιών της Microsoft. Ο διαχειριστής IT θα έχει τη δυνατότητα να συλλέξει αυτά τα δεδομένα. Δήλωση προστασίας προσωπικών δεδομένων.

Σας ευχαριστούμε για τα σχόλιά σας!

×