Συμπτώματα
Εξετάστε το ακόλουθο σενάριο:
- Χρησιμοποιείτε το Microsoft SQL Server 2016, 2014 ή 2012.
- Έχετε μια βάση δεδομένων που είναι μέρος της ομάδας διαθεσιμότητας AlwaysOn.
- Στην κύρια ρεπλίκα, συρρικνώνετε τα αρχεία βάσης δεδομένων για να μειώσετε το μέγεθός τους.
- Η κύρια ρεπλίκα στέλνει όλες τις αλλαγές που έχουν καταγραφεί στο αρχείο καταγραφής συναλλαγών στη δευτερεύουσα ρεπλίκα.
- Στη δευτερεύουσα ρεπλίκα, τα νήματα επανάληψης εφαρμόζουν τις αλλαγές από το αρχείο καταγραφής συναλλαγών στη βάση δεδομένων που αποτελεί μέρος της ομάδας διαθεσιμότητας.
Σε αυτό το σενάριο, η ρεπλίκα έχει ανασταλεί.
Επιπλέον, ενδέχεται να λάβετε ένα μήνυμα λάθους παρόμοιο με το ακόλουθο:
Σημείωση
<χρονική σήμανση> spid41s Σφάλμα: 3456, σοβαρότητα: 21, κατάσταση: 1.
<χρονική σήμανση> spid41s Δεν ήταν δυνατή η επανάληψη της εγγραφής καταγραφής (#), για αναγνωριστικό συναλλαγής (#), στη σελίδα (#), βάση δεδομένων '<dbname>' (αναγνωριστικό βάσης δεδομένων #). Σελίδα: LSN = (#), μονάδα εκχώρησης = #, τύπος = #. Αρχείο καταγραφής: OpCode = #, context #, PrevPageLSN: (#). Επαναφορά από ένα αντίγραφο ασφαλείας της βάσης δεδομένων ή επιδιόρθωση της βάσης δεδομένων.
<χρονική σήμανση> spid41s Η κίνηση δεδομένων AlwaysOn Availability Groups για τη βάση δεδομένων '<dbname>' έχει ανασταλεί για τον ακόλουθο λόγο: "system" (Source ID 2; Συμβολοσειρά προέλευσης: 'SUSPEND_FROM_REDO'). Για να συνεχίσετε την κίνηση των δεδομένων στη βάση δεδομένων, θα χρειαστεί να συνεχίσετε τη βάση δεδομένων με μη αυτόματο τρόπο. Για πληροφορίες σχετικά με τον τρόπο συνέχισης μιας βάσης δεδομένων διαθεσιμότητας, ανατρέξτε στο θέμα SQL Server Ηλεκτρονικά βιβλία.
<χρονική σήμανση> spid41s Σφάλμα: 3313, σοβαρότητα: 21, κατάσταση: 2.time< stamp> spid41s Κατά την επανάληψη μιας λειτουργίας καταγραφής στη βάση δεδομένων '<dbname>', παρουσιάστηκε σφάλμα στο αναγνωριστικό εγγραφής καταγραφής (#). Συνήθως, η συγκεκριμένη αποτυχία έχει καταγραφεί προηγουμένως ως σφάλμα στην υπηρεσία καταγραφής συμβάντων των Windows. Επαναφέρετε τη βάση δεδομένων από ένα πλήρες αντίγραφο ασφαλείας ή επιδιορθώστε τη βάση δεδομένων.
Αιτία
Αυτό το ζήτημα παρουσιάζεται όταν εφαρμόζονται αλλαγές κατά τη διαδικασία επανάληψης, εάν ο μηχανισμός βάσεων δεδομένων αντιμετωπίζει LSN εκτός σειράς στις σελίδες συστήματος (GAM, PFS).
Επίλυση
Αυτό το πρόβλημα διορθώθηκε για πρώτη φορά στην ακόλουθη συγκεντρωτική ενημέρωση του SQL Server:
- Αθροιστική ενημερωμένη έκδοση 1 για SQL Server 2016
- Αθροιστική ενημερωμένη έκδοση 8 για SQL Server 2014 SP1
- Αθροιστική ενημερωμένη έκδοση 6 για SQL Server 2012 SP3
- Αθροιστική ενημερωμένη έκδοση 15 για SQL Server 2012 SP2
Σύσταση: Εγκαταστήστε την πιο πρόσφατη αθροιστική ενημερωμένη έκδοση για SQL Server
Κάθε νέα αθροιστική ενημερωμένη έκδοση για SQL Server περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη αθροιστική ενημερωμένη έκδοση. Συνιστάται να κάνετε λήψη και εγκατάσταση των πιο πρόσφατων αθροιστικών ενημερώσεων για SQL Server:
- Τελευταία αθροιστική ενημέρωση για το SQL Server 2016
- Τελευταία αθροιστική ενημερωμένη έκδοση για το SQL Server 2014 SP1
- Τελευταία αθροιστική ενημερωμένη έκδοση για το SQL Server 2012 SP3
- Τελευταία αθροιστική ενημερωμένη έκδοση για το SQL Server 2012 SP2
Η ενημερωμένη έκδοση αποτρέπει την εμφάνιση αυτού του προβλήματος. Εάν το πρόβλημα έχει ήδη παρουσιαστεί, ακολουθήστε τα παρακάτω βήματα για να συνδεθείτε ξανά στην ομάδα διαθεσιμότητας AlwaysOn:
- Καταργήστε την υπάρχουσα δευτερεύουσα ρεπλίκα AlwaysOn.
- Εκτελέστε την ακόλουθη εντολή στα αρχεία δεδομένων που επηρεάζονται για να καταργήσετε από τη βάση δεδομένων χώρο που δεν έχει εκχωρηθεί:
DBCC SHRINKFILE(<file_id>; TRUNCATEONLY) - Δημιουργήστε αντίγραφα ασφαλείας της βάσης δεδομένων και των αρχείων καταγραφής.
- Επαναφέρετε τη βάση δεδομένων και τα αρχεία καταγραφής στη δευτερεύουσα ρεπλίκα AlwaysOn.
- Γίνετε μέλος της ομάδας διαθεσιμότητας AlwaysOn.
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα που αφορά τα προϊόντα της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".
Παραπομπές
Ενημερωθείτε για την ορολογία που χρησιμοποιεί η Microsoft για να περιγράφει τις ενημερώσεις λογισμικού.