Συμπτώματα
Ας υποθέσουμε ότι χρησιμοποιείτε την αναπαραγωγή συναλλαγών στον Microsoft SQL Server 2008 και υπάρχει ένα ερώτημα ενημέρωσης που εκτελείται στη δημοσίευση. Όταν αναβαθμίζετε τον SQL Server σε SQL Server 2012 ή SQL Server 2014 και το ερώτημα ενημέρωσης δεν διανέμεται πριν από την αναβάθμιση, ο παράγοντας του προγράμματος ανάγνωσης καταγραφής ενδέχεται να αποτύχει με το ακόλουθο σφάλμα:
<Date> <Time> Publisher: {Call sp_replcmds (500; 0; 0; 0; 500000)}<ημερομηνία> <ώρα> Status: 0, code: 20011, Text: "η διαδικασία δεν ήταν δυνατό να εκτελεστεί ' sp_replcmds ' στο '< όνομα εκδότη>'. '.<Date> <Time> Η διεργασία δεν ήταν δυνατό να εκτελέσει τη λέξη ' sp_replcmds ' σε '<όνομα εκδότη>'.<Date> <Time> Κατάσταση παράγοντα REPL: 6<ημερομηνία> <ώρα> κατάσταση: 0, κωδικός: 542, Text: "Παρουσιάστηκε μη έγκυρη τιμή ημερομηνίας/ώρας. Η τιμή υπερβαίνει το έτος 9999. '.<Date> <Time> Κατάσταση: 0, Κωδικός: 3621, Text: "η πρόταση έχει τερματιστεί.".<Date> <Time> Status: 0, code: 22037, Text: ' η διαδικασία δεν ήταν δυνατό να εκτελεστεί ' sp_replcmds ' στο '<όνομα εκδότη>'. '.
Ακόμη και αν δεν έχει συμβεί αυτό το πρόβλημα, οι αναβαθμισμένες εγγραφές καταγραφής για τις προτάσεις ενημέρωσης μπορούν να παρερμηνεύονται ακόμα από τον παράγοντα ανάγνωσης καταγραφής και μπορεί να προκύψει το ακόλουθο σφάλμα στον παράγοντα διανομής:
το 515 δεν μπορεί να εισαγάγει την τιμή NULL στη στήλη '<όνομα στήλης>', πίνακας '<όνομα πίνακα>'; η στήλη δεν επιτρέπει κενές τιμές. Η ενημέρωση αποτυγχάνει.
Σημείωση
-
Διαφορετικοί τύποι δεδομένων και περιορισμοί μπορούν να προκαλέσουν την αναφορά διαφορετικού σφάλματος και αυτό το πρόβλημα μπορεί να προκαλέσει ακόμη και μη σύγκλιση.
-
Το πρόβλημα παρουσιάζεται όταν κάνετε αναβάθμιση από τον SQL Server 2008 ή τον SQL Server 2008 R2 στον SQL Server 2012 ή στον SQL Server 2014.
Επίλυση
Εάν το σφάλμα "515 δεν μπορεί να εισαγάγει την τιμή NULL στη στήλη '<όνομα στήλης>', πίνακας '<όνομα πίνακα>'; η στήλη δεν επιτρέπει κενές τιμές. Η ενημέρωση αποτυγχάνει "στον παράγοντα διανομής έχει προκύψει, θα πρέπει να προετοιμάσετε εκ νέου την αναπαραγωγή σας. Αυτή η επείγουσα επιδιόρθωση δεν διορθώνει αυτό το σφάλμα. Για να αποφύγετε αυτό το σφάλμα, θα πρέπει να απενεργοποιήσετε τον παράγοντα ανάγνωσης καταγραφής πριν από την αναβάθμιση και, στη συνέχεια, να αναβαθμίσετε όλο τον τρόπο σε αυτήν την επιδιόρθωση και, στη συνέχεια, να ενεργοποιήσετε ξανά τον παράγοντα ανάγνωσης καταγραφής. το πρόβλημα διορθώθηκε για πρώτη φορά με την ακόλουθη αθροιστική ενημέρωση του SQL Server.
Αθροιστική ενημερωμένη έκδοση 2 για τον SQL Server 2012 SP2 /en-us/help/2983175
Αθροιστική ενημερωμένη έκδοση 3 για τον SQL Server 2014 /en-us/help/2984923
Αθροιστική ενημερωμένη έκδοση 11 για τον SQL Server 2012 SP1 /en-us/help/2975396
Κάθε νέα αθροιστική ενημέρωση για τον SQL Server περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις επιδιορθώσεις ασφαλείας που συμπεριλήφθηκαν στην προηγούμενη αθροιστική ενημέρωση. Ανάληψη ελέγχου των πιο πρόσφατων αθροιστικών ενημερώσεων για τον SQL Server:
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα πρόβλημα στα προϊόντα της Microsoft που παρατίθενται στην ενότητα "ισχύει για".