Όταν χρησιμοποιείτε τη Microsoft SQL Server για να επισυνάψετε ή να αποκτήσετε πρόσβαση σε ένα κατεστραμμένο αρχείο βάσης δεδομένων MDF, ενδέχεται να συναντήσετε μια ποικιλία μηνυμάτων σφάλματος που μπορεί να προκαλούν σύγχυση. Παρακάτω, θα παραθέσουμε όλα τα σφάλματα, ταξινομημένα κατά συχνότητα. Για κάθε σφάλμα, θα περιγράψουμε τα συμπτώματά του, θα εξηγήσουμε την ακριβή αιτία και θα παρέχουμε δείγματα αρχείων μαζί με τα αρχεία που διορθώθηκαν από DataNumen SQL Recovery. Αυτό θα σας βοηθήσει να κατανοήσετε καλύτερα αυτά τα σφάλματα. Σημείωση Το 'xxx.MDF' θα αντιπροσωπεύει το όνομα του κατεστραμμένου σας SQL Server Αρχείο βάσης δεδομένων MDF.
Βασισμένο στο SQL Server ή μηνύματα σφάλματος CHECKDB, υπάρχουν τρία είδη σφαλμάτων:
-
- Σφάλματα κατανομής: Γνωρίζουμε ότι τα δεδομένα σε αρχεία MDF & NDF κατανέμονται ως σελίδες. Και υπάρχουν μερικές ειδικές σελίδες που χρησιμοποιούνται για διαχείριση κατανομής, ως εξής:
Τύπος σελίδας | Περιγραφή |
Σελίδα GAM | Αποθηκεύστε πληροφορίες παγκόσμιου χάρτη κατανομής (GAM). |
Σελίδα SGAM | Αποθηκεύστε τις κοινόχρηστες πληροφορίες παγκόσμιου χάρτη κατανομής (SGAM). |
Σελίδα IAM | Πληροφορίες χάρτη κατανομής ευρετηρίου καταστήματος (IAM). |
Σελίδα PFS | Αποθηκεύστε τις πληροφορίες κατανομής PFS. |
Εάν κάποια από τις παραπάνω σελίδες κατανομής έχει σφάλματα ή τα δεδομένα που διαχειρίζονται αυτές οι σελίδες κατανομής δεν συμφωνούν με τις πληροφορίες κατανομής, τότε SQL Server ή το CHECKDB θα αναφέρει σφάλματα κατανομής.
- Σφάλματα συνέπειας: Για σελίδες που χρησιμοποιούνται για την αποθήκευση δεδομένων, συμπεριλαμβανομένων των σελίδων δεδομένων και των σελίδων ευρετηρίου, εάν SQL Server ή CHECKDB βρείτε τυχόν ασυνέπεια μεταξύ των περιεχομένων της σελίδας και του αθροίσματος ελέγχου, τότε θα αναφέρουν σφάλματα συνέπειας.
- Όλα τα άλλα σφάλματα: Ενδέχεται να υπάρχουν άλλα σφάλματα που δεν εμπίπτουν στις παραπάνω δύο κατηγορίες.
- Το xxxx.mdf δεν είναι πρωτεύον αρχείο βάσης δεδομένων. (Microsoft SQL Server, Σφάλμα: 5171)
- Η κεφαλίδα για το αρχείο "xxxx.mdf" δεν είναι έγκυρη κεφαλίδα αρχείου βάσης δεδομένων. Η ιδιότητα FILE SIZE είναι λανθασμένη. (Microsoft SQL Server, Σφάλμα: 5172)
- SQL Server εντόπισε ένα λογικό σφάλμα I / O που βασίζεται στη συνέπεια: εσφαλμένο άθροισμα ελέγχου
- SQL Server εντόπισε ένα λογικό σφάλμα I / O που βασίζεται στη συνέπεια: σχισμένη σελίδα
- Διαγράφετε κατά λάθος ορισμένες εγγραφές ή ορισμένους πίνακες στη βάση δεδομένων.
SQL Server έχει ένα ενσωματωμένο εργαλείο που ονομάζεται DBCC, η οποία έχει ΕΛΕΓΧΟΣ και ΠΙΝΑΚΑΣ ΕΛΕΓΧΟΥ επιλογές που μπορούν να βοηθήσουν στην επιδιόρθωση κατεστραμμένης βάσης δεδομένων MDF. Ωστόσο, για σοβαρά κατεστραμμένα αρχεία βάσης δεδομένων MDB, DBCC CHECKDB και ΠΙΝΑΚΑΣ ΕΛΕΓΧΟΥ θα αποτύχει επίσης.
Σφάλματα συνέπειας που αναφέρθηκαν από το CHECKDB:
- SQL Server εντόπισε ένα λογικό σφάλμα I / O που βασίζεται στη συνέπεια: εσφαλμένο άθροισμα ελέγχου
- Η σειρά στο sys.xxx δεν έχει αντίστοιχη σειρά στο sys.xxx.
- Σφάλμα πίνακα: Αναγνωριστικό αντικειμένου ##, αναγνωριστικό ευρετηρίου ## θα ξαναχτιστεί.
- Δεν είναι δυνατή η αναδημιουργία αυτού του ευρετηρίου πίνακα συστήματος.
- Το αναγνωριστικό αντικειμένου ##, το αναγνωριστικό ευρετηρίου ##, το αναγνωριστικό διαμερίσματος ##, το αναγνωριστικό μονάδας εκχώρησης ## (τύπος άγνωστο), το αναγνωριστικό σελίδας (##: 560) περιέχει ένα λανθασμένο αναγνωριστικό σελίδας στην κεφαλίδα της σελίδας.
Σφάλματα κατανομής που αναφέρθηκαν από CHECKDB:
- Η σελίδα του χάρτη κατανομής ευρετηρίου (IAM) δείχνει τον επόμενο δείκτη της σελίδας IAM
- Το Extent (##: ##) στο αναγνωριστικό βάσης δεδομένων ## επισημαίνεται ότι έχει εκχωρηθεί στο GAM, αλλά κανένα SGAM ή IAM δεν το έχει εκχωρήσει.
Όλα τα άλλα σφάλματα που αναφέρθηκαν από το CHECKDB:
- Αποτυχία: (- #######) Η εκτέλεση του ερωτήματος "DBCC CHECKDB (xxxx) WITH NO_INFOMSGS" απέτυχε με το ακόλουθο σφάλμα: "xxxx".
- Εντοπίστηκε σφάλμα I / O (αναγνωριστικό κακής σελίδας) κατά την ανάγνωση στην αντιστάθμιση 0x ###### στο αρχείο "xxxx.mdf".
- Δεν ήταν δυνατή η ενεργοποίηση του συστήματος από τη βάση δεδομένων για την ανακατασκευή του αρχείου καταγραφής
- Απώλεια δεδομένων κατά την επιδιόρθωση με CHECKDB
- Το αρχείο φαίνεται να έχει περικοπεί από το λειτουργικό σύστημα.
- Κατά την επανάληψη μιας καταγεγραμμένης λειτουργίας στη βάση δεδομένων «xxxx», παρουσιάστηκε σφάλμα στο αναγνωριστικό εγγραφής καταγραφής.