Κοινή χρήση τώρα:
Πίνακας περιεχομένων απόκρυψη

SQL Server Η βάση δεδομένων βρίσκεται σε λειτουργία αποκατάστασης; Αποκτήστε 10 αποδεδειγμένες λύσεις τώρα! Βήμα προς βήμα λύσεις, από εύκολη διόρθωση έως προηγμένη επιδιόρθωση.

1. Κατανόηση SQL Server Λειτουργία ανάκτησης βάσης δεδομένων

1.1 Τι είναι η Λειτουργία Ανάκαμψης στο SQL Server

Όταν ένας SQL Server Η βάση δεδομένων εμφανίζει την κατάσταση "Σε ανάκτηση", αυτό σημαίνει SQL Server εκτελεί ανάκτηση από σφάλματα ή ανάκτηση συναλλαγών για να διασφαλίσει τη συνέπεια της βάσης δεδομένων. Αυτή η αυτόματη διαδικασία διατηρεί την ακεραιότητα των δεδομένων επαναλαμβάνοντας τις δεσμευμένες συναλλαγές και ακυρώνοντας τις μη δεσμευμένες.

In SQL Server, μια βάση δεδομένων περιέχει την ετικέτα "Σε ανάκτηση", που σημαίνει ότι βρίσκεται αυτήν τη στιγμή σε λειτουργία ανάκτησης.

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

1.2 Οι τρεις φάσεις της ανάκτησης βάσης δεδομένων

SQL Server Η ανάκαμψη ακολουθεί τρία διακριτά στάδια:

1.2.1 Φάση Ανάλυσης

SQL Server Σαρώνει το αρχείο καταγραφής συναλλαγών από το τελευταίο σημείο ελέγχου για να εντοπίσει μη καθαρές σελίδες και ενεργές συναλλαγές. Δημιουργεί έναν Πίνακα Μη Καθαρών Σελίδων (DPT) και έναν Πίνακα Ενεργών Συναλλαγών (ATT) για να παρακολουθεί τι χρειάζεται ανάκτηση.

1.2.2 Φάση Επανάληψης (Κύλιση προς τα εμπρός)

Το σύστημα αναπαράγει όλες τις δεσμευμένες συναλλαγές που δεν είχαν εγγραφεί στον δίσκο πριν από την κατάρρευση. Αυτό διασφαλίζει ότι όλες οι δεσμευμένες αλλαγές εφαρμόζονται σωστά στα αρχεία της βάσης δεδομένων.

1.2.3 Φάση αναίρεσης (Επαναφορά)

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

1.3 Συνήθη συμπτώματα και μηνύματα σφάλματος

Όταν σας SQL Server Η βάση δεδομένων βρίσκεται σε διαδικασία ανάκτησης, συνήθως θα δείτε:

  • Όνομα βάσης δεδομένων που εμφανίζει την ένδειξη "(Σε ανάκτηση)" στο SQL Server Στούντιο διαχείρισης
  • Αποτυχίες σύνδεσης με μηνύματα "η βάση δεδομένων ανακτάται"
  • Καταχωρίσεις αρχείου καταγραφής σφαλμάτων που εμφανίζουν ποσοστά προόδου ανάκτησης
  • Η κατάσταση της βάσης δεδομένων εμφανίζει την ένδειξη "ΑΝΑΚΤΗΣΗ" όταν υποβάλλεται ερώτημα

2. Βασικές αιτίες SQL Server Προβλήματα λειτουργίας ανάκτησης

2.1 Ατελείς λειτουργίες επαναφοράς

Η μost μια συνηθισμένη αιτία παρουσιάζεται κατά την επαναφορά από πολλά αρχεία αντιγράφων ασφαλείας χρησιμοποιώντας το ΜΗ ΑΝΑΚΤΗΣΗ επιλογή χωρίς τελικό ΜΕ ΑΝΑΚΤΗΣΗ εντολή. Αυτό αφήνει τη βάση δεδομένων σε αναμονή για πρόσθετες λειτουργίες επαναφοράς.

2.2 Προβλήματα αρχείου καταγραφής συναλλαγών

Τα μεγάλα αρχεία καταγραφής συναλλαγών ή τα υπερβολικά πολλά αρχεία εικονικού καταγραφής (VLF) επιβραδύνουν σημαντικά την ανάκτηση. Όταν το MS SQL βρίσκεται σε διαδικασία ανάκτησης με χιλιάδες VLF, η ολοκλήρωση της διαδικασίας μπορεί να διαρκέσει ώρες ή ημέρες.

2.3 Ζητήματα που σχετίζονται με το σύστημα

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

2.4 Διαφθορά Βάσης Δεδομένων

Τα κατεστραμμένα αρχεία βάσης δεδομένων εμποδίζουν την επιτυχή ολοκλήρωση της ανάκτησης, αφήνοντας τη βάση δεδομένων κολλημένη επ' αόριστον σε λειτουργία ανάκτησης.

3. ΔιάγνωσηostΒήματα πριν από την επισκευή

Έλεγχος 3.1 SQL Server Μητρώα σφαλμάτων

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

  1. Ανοικτό SQL Server Στούντιο διαχείρισης
  2. Πλοηγηθείτε στο Κοινωνικών Δικτύων -> SQL Server Logs
  3. Ελέγξτε τις πρόσφατες καταχωρίσεις για το όνομα της βάσης δεδομένων σας
  4. Αναζητήστε δείκτες φάσης ανάκαμψης (Φάση 1, 2 ή 3 από 3)

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

3.2 Παρακολούθηση της προόδου ανάκαμψης

Χρησιμοποιήστε δυναμικές προβολές διαχείρισης για την παρακολούθηση ενεργών λειτουργιών ανάκτησης:

SELECT session_id, command, blocking_session_id, wait_type, wait_time, wait_resource
FROM sys.dm_exec_requests
WHERE command = 'DB STARTUP';

3.3 Έλεγχος κατάστασης βάσης δεδομένων

Επαληθεύστε την τρέχουσα κατάσταση της βάσης δεδομένων για να κατανοήσετε την κατάσταση ανάκτησης:

SELECT name, state_desc
FROM sys.databases
WHERE name = 'YourDatabaseName';

4. Επίλυση #1: Περιμένετε την ολοκλήρωση της φυσικής ανάκαμψης

Μερικές φορές η υπομονή είναι η καλύτερη λύση όταν... SQL Server Η βάση δεδομένων βρίσκεται σε διαδικασία ανάκτησης. Αυτή η προσέγγιση λειτουργεί όταν η ανάκτηση προχωρά κανονικά αλλά διαρκεί περισσότερο από το αναμενόμενο.

4.1 Πότε πρέπει να είστε υπομονετικοί

Επιτρέψτε τη φυσική ολοκλήρωση όταν:

  • Τα αρχεία καταγραφής σφαλμάτων δείχνουν σταθερή πρόοδο με μειωμένες εκτιμήσεις χρόνου
  • Δεν αναφέρονται σφάλματα διαφθοράς
  • Η βάση δεδομένων σημείωσε πρόσφατα μεγάλες συναλλαγές
  • Ο αριθμός των VLF είναι διαχειρίσιμος (κάτω από 1,000)

4.2 Παρακολούθηση της προόδου ανάκαμψης

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

5. Επίλυση #2: Χρησιμοποιήστε την ΕΠΑΝΑΦΟΡΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ ΜΕ ΑΝΑΚΤΗΣΗ

Αυτή η επιδιόρθωση επιλύει προβλήματα με τις ημιτελείς λειτουργίες επαναφοράς όπου παραλείφθηκε το τελικό βήμα επαναφοράς. Χρησιμοποιήστε αυτήν τη μέθοδο όταν SQL Server Η βάση δεδομένων στην ανάκτηση προέκυψε από μια διαδικασία επαναφοράς χρησιμοποιώντας το NORECOVERY.

5.1 Κατανόηση της εντολής

The ΕΠΑΝΑΦΟΡΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ ΜΕ ΑΝΑΚΤΗΣΗ Η εντολή ολοκληρώνει τη διαδικασία ανάκτησης αναιρώντας τις μη δεσμευμένες συναλλαγές και επαναφέροντας τη βάση δεδομένων σε λειτουργία.

5.2 Βήματα Εφαρμογής

  1. Ανοικτό SQL Server Στούντιο διαχείρισης
  2. Συνδεθείτε με το δικό σας SQL Server παράδειγμα
  3. Πατήστε Νέο > Ερώτημα με την τρέχουσα σύνδεση
    Δημιουργήστε ένα νέο ερώτημα στο SQL Server Στούντιο διαχείρισης.
  4. Εκτέλεση: RESTORE DATABASE [YourDatabaseName] WITH RECOVERY;
  5. Περιμένετε επιβεβαίωση ολοκλήρωσης

Προειδοποίηση: Χρησιμοποιήστε αυτήν την εντολή μόνο εάν είστε βέβαιοι ότι δεν εκκρεμούν πρόσθετες λειτουργίες επαναφοράς.

6. Επίλυση #3: Επίλυση προβλημάτων αρχείου καταγραφής συναλλαγών

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

6.1 Δημιουργία αντιγράφων ασφαλείας αρχείων καταγραφής συναλλαγών

Απελευθερώστε χώρο στο αρχείο καταγραφής δημιουργώντας αντίγραφα ασφαλείας του αρχείου καταγραφής συναλλαγών:

  1. Ανοικτό SQL Server Στούντιο διαχείρισης
  2. Κάντε δεξί κλικ στη βάση δεδομένων σας -> καθήκοντα -> Back Up
    Starεργασία δημιουργίας αντιγράφων ασφαλείας για ένα SQL Server βάση δεδομένων.
  3. Αλλαγή Τύπος αντιγράφου ασφαλείας προς την Αρχείο καταγραφής συναλλαγών
    Αλλαγή τύπου αντιγράφου ασφαλείας σε αρχείο καταγραφής συναλλαγών
  4. Καθορισμός προορισμού αντιγράφων ασφαλείας
  5. Πατήστε OK να εκτελέσει

6.2 Διαχείριση Εικονικών Αρχείων Καταγραφής (VLF)

Ελέγξτε τον αριθμό VLF με:

DBCC LOGINFO('YourDatabaseName');

Εάν έχετε πάνω από 1,000 VLF, μειώστε τα κατά:

  1. Δημιουργία αντιγράφων ασφαλείας του αρχείου καταγραφής συναλλαγών
  2. Συρρίκνωση του αρχείου καταγραφής: DBCC SHRINKFILE(LogFileName, TRUNCATEONLY);
  3. Ανάπτυξη του αρχείου καταγραφής σε μεγάλα τμήματα (1GB ή περισσότερα)

6.3 Ασφαλής συρρίκνωση αρχείων καταγραφής

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

7. Επιδιόρθωση #4: Εκτελέστε το DBCC CHECKDB και επιδιορθώστε

Η καταστροφή της βάσης δεδομένων μπορεί να αποτρέψει την επιτυχή ολοκλήρωση της ανάκτησης. Η εντολή DBCC CHECKDB είναι μια ενσωματωμένη εντολή που μπορεί να εντοπίσει και να επιδιορθώσει μικρά προβλήματα καταστροφής που διατηρούν το MS SQL σε λειτουργία ανάκτησης.

7.1 Έλεγχος για αλλοίωση της βάσης δεδομένων

Start με την τυπική προσέγγιση για την επαλήθευση της ακεραιότητας της βάσης δεδομένων. Δοκιμάστε πρώτα απευθείας το DBCC CHECKDB:

  1. Εκτέλεση: DBCC CHECKDB('YourDatabaseName') WITH NO_INFOMSGS;
  2. Ελέγξτε τα αποτελέσματα για σφάλματα συνέπειας
  3. Καταγράψτε τυχόν μηνύματα διαφθοράς

Εάν το DBCC CHECKDB αποτύχει με σφάλματα όπως "Η βάση δεδομένων ανακτάται. Αναμονή μέχρι να ολοκληρωθεί η ανάκτηση", αυτό σημαίνει ότι η βάση δεδομένων βρίσκεται ενεργά σε λειτουργία ανάκτησης και αποκλείει την πρόσβαση. Σε αυτήν την περίπτωση, προχωρήστε στην ενότητα 7.3 για να χρησιμοποιήσετε τη λειτουργία ΕΚΤΑΚΤΗΣ ΑΝΑΓΚΗΣ.

7.2 Επιλογές επιδιόρθωσης για προσβάσιμες βάσεις δεδομένων

Εάν το DBCC CHECKDB εκτελέστηκε με επιτυχία και εντόπισε καταστροφή, χρησιμοποιήστε αυτά τα βήματα επιδιόρθωσης:

  1. Ορισμός βάσης δεδομένων σε λειτουργία ενός χρήστη: ALTER DATABASE [YourDatabaseName] SET SINGLE_USER;
  2. Προσπάθεια ασφαλούς επισκευής: DBCC CHECKDB('YourDatabaseName', REPAIR_REBUILD);
  3. Σε περίπτωση αποτυχίας, χρησιμοποιήστε: DBCC CHECKDB('YourDatabaseName', REPAIR_ALLOW_DATA_LOSS);
  4. Επιστροφή σε λειτουργία πολλαπλών χρηστών: ALTER DATABASE [YourDatabaseName] SET MULTI_USER;

7.3 Χρήση Λειτουργίας Έκτακτης Ανάγκης Όταν η Βάση Δεδομένων δεν είναι Προσβάσιμη

Η λειτουργία έκτακτης ανάγκης απαιτείται μόνο όταν η βάση δεδομένων έχει κολλήσει στην ανάκτηση και απορρίπτει τις κανονικές προσπάθειες DBCC CHECKDB. Σημειώνει τη βάση δεδομένων ως ΜΟΝΟ ΓΙΑ ΑΝΑΓΝΩΣΗ και απενεργοποιεί την καταγραφή. Χρησιμοποιήστε αυτήν την προσέγγιση όταν η τυπική πρόσβαση αποτυγχάνει:

  1. Ρύθμιση λειτουργίας έκτακτης ανάγκης: ALTER DATABASE [YourDatabaseName] SET EMERGENCY;
  2. Ορισμός ενός χρήστη: ALTER DATABASE [YourDatabaseName] SET SINGLE_USER;
  3. Εκτέλεση ελέγχου ακεραιότητας: DBCC CHECKDB('YourDatabaseName') WITH NO_INFOMSGS;
  4. Εάν εντοπιστεί ζημιά, εκτελέστε πρώτα ασφαλή επιδιόρθωση: DBCC CHECKDB('YourDatabaseName', REPAIR_REBUILD);
  5. Εάν αποτύχει, χρησιμοποιήστε την επιδιόρθωση με απώλεια δεδομένων:  DBCC CHECKDB('YourDatabaseName', REPAIR_ALLOW_DATA_LOSS);
  6. Ορισμός πολλαπλών χρηστών: ALTER DATABASE [YourDatabaseName] SET MULTI_USER;
  7. Ορισμός στο διαδίκτυο: ALTER DATABASE [YourDatabaseName] SET ONLINE;

Σημαντικό: Η λειτουργία ΕΚΤΑΚΤΗΣ ΑΝΑΓΚΗΣ παρακάμπτει τις κανονικές διαδικασίες ανάκτησης και θα πρέπει να χρησιμοποιείται μόνο όταν η βάση δεδομένων είναι εντελώς απρόσιτη. Πάντα να δοκιμάζετε πρώτα την τυπική προσέγγιση DBCC CHECKDB πριν από την κλιμάκωση σε λειτουργία ΕΚΤΑΚΤΗΣ ΑΝΑΓΚΗΣ.

Μπορείτε να βρείτε ένας πιο ολοκληρωμένος οδηγός για τον τρόπο χρήσης του DBCC CHECKDB.

8. Επίλυση #5: Επαναφορά από αντίγραφο ασφαλείας

Όταν άλλες μέθοδοι αποτυγχάνουν ή η ακεραιότητα των δεδομένων είναι αμφισβητήσιμη, η επαναφορά από ένα καθαρό αντίγραφο ασφαλείας είναι συχνά η πιο αποτελεσματική.ost αξιόπιστη λύση για την επίλυση SQL Server βάση δεδομένων σε προβλήματα ανάκτησης.

8.1 Πότε να επιλέξετε την Επαναφορά Αντιγράφων Ασφαλείας

Εξετάστε το ενδεχόμενο επαναφοράς αντιγράφων ασφαλείας όταν:

  • Η ανάρρωση συνεχίζεται για πάνω από 24 ώρες χωρίς πρόοδο
  • Τα σφάλματα διαφθοράς εμποδίζουν την επιτυχή επιδιόρθωση
  • Έχετε διαθέσιμα πρόσφατα, επαληθευμένα αντίγραφα ασφαλείας
  • Η απώλεια δεδομένων από το τελευταίο αντίγραφο ασφαλείας είναι αποδεκτή

8.2 Διαδικασία Αποκατάστασης Βήμα προς Βήμα

  1. Ανοικτό SQL Server Στούντιο διαχείρισης
  2. Κάντε δεξί κλικ Βάσεις Δεδομένων -> Επαναφορά βάσης δεδομένων
    Starta εργασία επαναφοράς βάσης δεδομένων σε SQL Server Στούντιο διαχείρισης
  3. Αγορά Συσκευή στην περιοχή Πηγή
  4. Πατήστε Πρόσθεση και περιηγηθείτε στο αρχείο αντιγράφων ασφαλείας σας
  5. Επιλέξτε το αντίγραφο ασφαλείας και κάντε κλικ OK
  6. Επιλέξτε Αντικατάσταση της υπάρχουσας βάσης δεδομένων αν χρειαστεί
  7. Πατήστε OK τότε ptarαποκατάσταση

Επαναφορά βάσης δεδομένων σε SQL Server.

8.3 Ανάκτηση σε συγκεκριμένο χρονικό σημείο

Για ελάχιστη απώλεια δεδομένων, χρησιμοποιήστε αντίγραφα ασφαλείας των αρχείων καταγραφής συναλλαγών για να επαναφέρετε τα δεδομένα σε μια συγκεκριμένη χρονική στιγμή. Βεβαιωθείτε ότι έχετε μια αδιάσπαστη αλυσίδα αντιγράφων ασφαλείας των αρχείων καταγραφής από το πλήρες αντίγραφο ασφαλείας σας έως το επιθυμητό σημείο ανάκτησης.

8.4 Αναφορά

Μπορείτε να μάθετε περισσότερες πληροφορίες από το δικό μας ολοκληρωμένος οδηγός για τον τρόπο δημιουργίας αντιγράφων ασφαλείας και επαναφοράς SQL Server βάσεις δεδομένων.

9. Επίλυση #6: Απενεργοποίηση ιδιότητας ΑΥΤΟΜΑΤΟΥ ΚΛΕΙΣΙΜΑΤΟΣ

Η ιδιότητα βάσης δεδομένων AUTO CLOSE μπορεί να προκαλέσει επαναλαμβανόμενους κύκλους ανάκτησης, κάνοντας την εικόνα ότι η SQL Server Η βάση δεδομένων βρίσκεται συνεχώς σε διαδικασία ανάκτησης. Η απενεργοποίηση αυτής της ιδιότητας επιλύει το πρόβλημα.

9.1 Κατανόηση προβλημάτων ΑΥΤΟΜΑΤΟΥ ΚΛΕΙΣΙΜΑΤΟΣ

Όταν είναι ενεργοποιημένη η λειτουργία ΑΥΤΟΜΑΤΟΥ ΚΛΕΙΣΙΜΑΤΟΣ, SQL Server Κλείνει τη βάση δεδομένων μετά το τέλος της τελευταίας σύνδεσης και, στη συνέχεια, την ανοίγει ξανά για νέες συνδέσεις. Αυτό το επαναλαμβανόμενο άνοιγμα ενεργοποιεί διαδικασίες ανάκτησης κάθε φορά.

9.2 Απενεργοποίηση ΑΥΤΟΜΑΤΟΥ ΚΛΕΙΣΙΜΑΤΟΣ

  1. Ανοικτό SQL Server Στούντιο διαχείρισης
  2. Κάντε δεξί κλικ στη βάση δεδομένων σας -> Ιδιοκτησίες
  3. Αγορά Επιλογές από το αριστερό πλαίσιο
  4. σετ Αυτόματο κλείσιμο προς την Ψευδής
  5. Πατήστε OK για να εφαρμόσετε αλλαγές

Απενεργοποίηση ιδιότητας Αυτόματου Κλεισίματος για ένα SQL Server βάση δεδομένων σε SQL Server Στούντιο διαχείρισης.

Εναλλακτικά, χρησιμοποιήστε T-SQL:

ALTER DATABASE [YourDatabaseName] SET AUTO_CLOSE OFF;

10. Διόρθωση #7: Λύσηtart SQL Server Υπηρεσία

ΥπηρεσίεςtarΜπορεί να επιλύσει τυχόν κολλημένες διαδικασίες ανάκτησης, αλλά θα πρέπει να χρησιμοποιείται προσεκτικά, καθώς θα επιλύσειtarεπαναφορά από την αρχή. Αυτή η επιδιόρθωση λειτουργεί όταν SQL Server στην ανάρρωση φαίνεται εντελώς παγωμένο.

10.1 Όταν η Υπηρεσία ΛύσεωνtarΒοηθά

Restarτην υπηρεσία όταν:

  • Η πρόοδος της ανάκαμψης έχει σταματήσει για αρκετές ώρες
  • Τα αρχεία καταγραφής σφαλμάτων δεν εμφανίζουν νέες καταχωρήσεις
  • Οι υπόλοιπες βάσεις δεδομένων λειτουργούν κανονικά
  • Μπορείτε να αντέξετε οικονομικά τον παρατεταμένο χρόνο διακοπής λειτουργίας

10.2 Ασφαλείς Απολύσειςtart Διαδικασίες

  1. Ανοικτό SQL Server Διαχειριστής διαμόρφωσης Εξωτερικό Link
  2. Πλοηγηθείτε στο SQL Server Υπηρεσίες
  3. Βρείτε το SQL Server παράδειγμα που θέλετε να επαναλάβετεtart, και στη συνέχεια κάντε δεξί κλικ SQL Server (Όνομα Παρουσίας)
  4. Αγορά Restart
  5. Περιμένετε να αποκατασταθεί πλήρως η υπηρεσίαtart
  6. Παρακολουθήστε τα αρχεία καταγραφής σφαλμάτων για την πρόοδο της ανάκτησης

Restart το SQL Server υπηρεσία σε SQL Server Διαχειριστής διαμόρφωσης.

Σημείωση: Restarτο ting θα προκαλέσει την έναρξη της ανάκαμψης από το start, ενδεχομένως παρατείνοντας τον συνολικό χρόνο αποκατάστασης.

11. Διόρθωση #8: Επιδιόρθωση βάσης δεδομένων με αποσύνδεση και επανασύνδεση

Για ακραίες περιπτώσεις, αποσυνδέστε και επανασυνδέστε τη βάση δεδομένων:

  1. Αποσύνδεση βάσης δεδομένων: EXEC sp_detach_db 'YourDatabaseName';
  2. Επισυνάψτε μόνο το αρχείο MDF: CREATE DATABASE [YourDB] ON (FILENAME = 'C:\Path\YourDB.mdf') FOR ATTACH_REBUILD_LOG;
  3. Αυτό αναδημιουργεί ένα νέο αρχείο καταγραφής συναλλαγών

Προειδοποίηση: Αυτή η μέθοδος μπορεί να οδηγήσει σε απώλεια δεδομένων. Χρησιμοποιήστε την μόνο όταν εξαντληθούν οι άλλες επιλογές.

12. Επίλυση #9: Χειρισμός προβλημάτων κατοπτρισμού βάσεων δεδομένων

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

12.1 Προβλήματα αποκατάστασης που αφορούν συγκεκριμένα τον κατοπτρισμό

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

12.2 Λύσεις αποκατάστασης με κατοπτρισμό

Restarτο τελικό σημείο κατοπτρισμού:

  1. Εύρεση ονόματος τελικού σημείου: SELECT * FROM sys.endpoints WHERE type = 4;
  2. Τελικό σημείο διακοπής: ALTER ENDPOINT [EndpointName] STATE = STOPPED;
  3. Starτελικό σημείο t: ALTER ENDPOINT [EndpointName] STATE = STARTED;

Εάν η απάντηση στο τελικό σημείοtarΕάν αποτύχει, διακόπτεται η συνεργασία κατοπτρισμού:

  1. Εκτέλεση: ALTER DATABASE [DatabaseName] SET PARTNER OFF;
  2. Τρέξιμο: RESTORE DATABASE [DatabaseName] WITH RECOVERY;
  3. Επαναρύθμιση κατοπτρισμού μόλις η βάση δεδομένων είναι συνδεδεμένη

13. Επίλυση #10: Χρησιμοποιήστε επαγγελματικά εργαλεία αποκατάστασης

Τα εργαλεία αποκατάστασης τρίτων παρέχουν προηγμένες δυνατότητες επιδιόρθωσης όταν είναι ενσωματωμένα SQL Server Οι μέθοδοι αποτυγχάνουν. Αυτά τα εργαλεία μπορούν συχνά να ανακτήσουν δεδομένα από σοβαρά κατεστραμμένες βάσεις δεδομένων.

13.1 DataNumen SQL Recovery

DataNumen SQL Recovery έχει υψηλό ποσοστό ανάκτησης, μαζί με ολοκληρωμένες επιλογές.

Παρακάτω είναι τα βήματα για να το χρησιμοποιήσετε:

  1. Σταματήστε το SQL Server Υπηρεσία.
  2. Δημιουργήστε ένα αντίγραφο των αρχείων της βάσης δεδομένων σε λειτουργία ανάκτησης, συμπεριλαμβανομένου τόσο του κύριου αρχείου MDF όσο και των δευτερευόντων αρχείων NDF.
  3. Start το SQL Server Υπηρεσία.
  4. Start DataNumen SQL Recovery.
  5. Επιλέξτε το αντίγραφο, αντί για το αρχικό αρχείο, ως την πηγή της βάσης δεδομένων που θα ανακτηθεί.
  6. Κάντε κλικ στο "Start Recovery” και ακολουθήστε τις οδηγίες για να ανακτήσετε τη βάση δεδομένων.
  7. Μετά τη διαδικασία ανάκτησης, θα εμφανιστεί μια νέα βάση δεδομένων ανάκτησης SQL Server το οποίο περιέχει όλα τα ανακτημένα δεδομένα.

Χρήση DataNumen SQL Recovery να επισκευάσει ένα μόνο κατεστραμμένο SQL Server Αρχείο MDF.

13.2 Πότε πρέπει να λάβετε υπόψη τα εργαλεία τρίτων

Χρησιμοποιήστε επαγγελματικά εργαλεία όταν:

  • Οι ενσωματωμένες επιλογές επιδιόρθωσης αποτυγχάνουν ή αναφέρουν εκτεταμένη καταστροφή
  • Δεν υπάρχουν διαθέσιμα πρόσφατα αντίγραφα ασφαλείας
  • Κρίσιμα δεδομένα πρέπει να ανακτηθούν παρά τη διαφθορά
  • Οι τυπικές μέθοδοι ανάκτησης έχουν ως αποτέλεσμα σημαντική απώλεια δεδομένων

14. Βέλτιστες πρακτικές πρόληψης

14.1 Εργασίες τακτικής συντήρησης

Εφαρμόστε αυτές τις πρακτικές για να αποτρέψετε SQL Server βάση δεδομένων σε προβλήματα ανάκτησης:

  • Προγραμματίστε τακτικά πλήρη αντίγραφα ασφαλείας και αντίγραφα ασφαλείας αρχείων καταγραφής: Διατηρήστε πλήρεις εφεδρικές αλυσίδες
  • Παρακολούθηση μετρήσεων VLF: Διατηρήστε τα VLF κάτω από 100 για βέλτιστη απόδοση
  • Μέγεθος αρχείου καταγραφής σχεδίου: Προκαθορίστε το μέγεθος των κορμών για να αποφύγετε την υπερβολική αυτοβλάστηση
  • Εκτελέστε την κανονική εντολή DBCC CHECKDB: Εντοπίστε έγκαιρα τη διαφθορά

14.2 Παρακολούθηση και Ειδοποίηση

Ρύθμιση προληπτικής παρακολούθησης:

  1. Ρύθμιση παραμέτρων ειδοποιήσεων για αλλαγές στην κατάσταση της βάσης δεδομένων
  2. Παρακολούθηση χώρου στο δίσκο στις μονάδες αρχείων καταγραφής
  3. Παρακολούθηση συναλλαγών μεγάλης διάρκειας
  4. Ειδοποίηση για υπερβολικές μετρήσεις VLF

14.3 Υλικό και Υποδομή

Διασφάλιση αξιόπιστης υποδομής:

  • Χρησιμοποιήστε γρήγορη αποθήκευση για τα αρχεία καταγραφής συναλλαγών (κατά προτίμηση SSD)
  • Εφαρμόστε πλεονάζοντα τροφοδοτικά
  • Ξεχωριστά δεδομένα και αρχεία καταγραφής σε διαφορετικές μονάδες δίσκου
  • Εξετάστε λύσεις υψηλής διαθεσιμότητας όπως το λευκό και το γκρι είναι μια ασφαλής επιλογή. Ταιριάζουν σχεδόν με οποιοδήποτε χρώμα ξύλου και δημιουργούν μια ισορροπημένη εμφάνιση. Για μια μοντέρνα αίσθηση, ίσως προτιμήσετε Ομάδες πάντα σε διαθεσιμότητα

15. Αντιμετώπιση Σύνθετων Σεναρίων

15.1 Πολλαπλά Προβλήματα Βάσης Δεδομένων

Όταν πολλές βάσεις δεδομένων έχουν κολλήσει στην ανάκτηση:

  1. Έλεγχος για προβλήματα σε ολόκληρο το σύστημα (χώρος στο δίσκο, μνήμη)
  2. Δώστε προτεραιότητα σε κρίσιμες βάσεις δεδομένων για ανάκτηση
  3. Λάβετε υπόψη τα προβλήματα υλικού που επηρεάζουν ολόκληρη την παρουσία
  4. Ελέγξτε τις πρόσφατες αλλαγές ή ενημερώσεις συστήματος

15.2 Ζητήματα που πρέπει να λαμβάνονται υπόψη για μεγάλες βάσεις δεδομένων

Για βάσεις δεδομένων άνω του 1TB:

  • Αναμένεται μεγαλύτερος χρόνος ανάρρωσης (πιθανώς ημέρες)
  • Εξασφαλίστε επαρκή κατανομή μνήμης
  • Λάβετε υπόψη τις ρυθμίσεις παράλληλης επεξεργασίας
  • Παρακολούθηση χώρου tempdb κατά την ανάκτηση

15.3 Πότε να επικοινωνήσετε με την Υποστήριξη της Microsoft

Επικοινωνήστε με την Υποστήριξη της Microsoft για:

  • Κρίσιμα συστήματα παραγωγής χωρίς επιλογές δημιουργίας αντιγράφων ασφαλείας
  • Υποψία SQL Server λογισμικά σφάλματα
  • Επιχειρηματικά περιβάλλοντα που απαιτούν εγγυημένη αποκατάσταση
  • Σύνθετα σενάρια Always On ή ομαδοποίησης

16. Συχνές ερωτήσεις

Ε: Για πόσο καιρό θα πρέπει SQL Server Η ανάκτηση της βάσης δεδομένων διαρκεί κανονικά;

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

Ε: Μπορώ να σταματήσω; SQL Server κατά την ανάκτηση χωρίς απώλεια δεδομένων;

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

Ε: Ποια είναι η διαφορά μεταξύ των όρων «Σε ανάρρωση» και «Εκκρεμεί η ανάρρωση»;

Α: «Σε ανάρρωση» σημαίνει SQL Server εκτελεί ενεργά λειτουργίες ανάκτησης. Η ένδειξη «Εκκρεμεί ανάκτηση» υποδεικνύει ότι η διαδικασία ανάκτησης απέτυχε.tart, συνήθως λόγω ελλειπόντων αρχείων, ανεπαρκών δικαιωμάτων ή προβλημάτων χώρου στο δίσκο που πρέπει να επιλυθούν πριν προχωρήσει η ανάκτηση.

Μπορείτε να βρείτε πιο λεπτομερείς πληροφορίες σχετικά με την «Εκκρεμής ανάκτηση» στην ιστοσελίδα μας. πλήρη οδηγό.

Ε: Θα χάσω δεδομένα αν χρησιμοποιήσω το REPAIR_ALLOW_DATA_LOSS;

Α: Ναι, το REPAIR_ALLOW_DATA_LOSS μπορεί να καταργήσει τα κατεστραμμένα δεδομένα για να αποκαταστήσει τη συνέπεια της βάσης δεδομένων. Πάντα να δοκιμάζετε πρώτα το REPAIR_REBUILD, το οποίο διορθώνει δομικά προβλήματα χωρίς απώλεια δεδομένων. Χρησιμοποιήστε το REPAIR_ALLOW_DATA_LOSS μόνο ως έσχατη λύση όταν δεν έχετε άλλες επιλογές αποκατάστασης.

Ε: Μπορώ να έχω πρόσβαση σε άλλες βάσεις δεδομένων ενώ μία βάση δεδομένων βρίσκεται σε διαδικασία ανάκτησης;

Α: Ναι, υπάρχουν και άλλες βάσεις δεδομένων στο ίδιο SQL Server Η παρουσία παραμένει προσβάσιμη κατά την ανάκτηση. Μόνο η βάση δεδομένων που βρίσκεται υπό ανάκτηση δεν είναι διαθέσιμη. Ωστόσο, οι λειτουργίες ανάκτησης ενδέχεται να επηρεάσουν τη συνολική απόδοση του διακομιστή.

Ε: Τι προκαλεί την παραμονή μιας βάσης δεδομένων σε λειτουργία αποκατάστασης;

Α: Συνήθεις αιτίες περιλαμβάνουν ατελείς λειτουργίες επαναφοράς χρησιμοποιώντας το NORECOVERY, υπερβολικά πολλά εικονικά αρχεία καταγραφής (VLF), μεγάλες μη δεσμευμένες συναλλαγές, καταστροφή βάσης δεδομένων, ανεπαρκή χώρο στο δίσκο και προβλήματα υλικού. Οι βάσεις δεδομένων με ενεργοποιημένο το AUTO CLOSE ενδέχεται επίσης να εμφανίζονται συνεχώς σε λειτουργία επαναφοράς.

Ε: Πώς μπορώ να ξέρω αν η ανάρρωση σημειώνει πρόοδο ή έχει κολλήσει;

Α: Οθόνη SQL Server αρχεία καταγραφής σφαλμάτων για μηνύματα προόδου ανάκτησης που εμφανίζουν ποσοστά ολοκλήρωσης. Χρησιμοποιήστε το sys.dm_exec_requests για να ελέγξετε για ενεργή βάση δεδομένων S.TARΕντολές TUP. Εάν τα ποσοστά αυξάνονται με την πάροδο του χρόνου, η ανάκτηση προχωρά. Η μη ύπαρξη νέων καταχωρήσεων στο αρχείο καταγραφής για αρκετές ώρες ενδέχεται να υποδηλώνει μια διαδικασία που έχει κολλήσει.

Ε: Είναι ασφαλές να επαναχρησιμοποιήσουμεtart SQL Server υπηρεσία κατά την ανάκαμψη;

Α: ΑπάντησηtarΤο ting είναι ασφαλές, αλλά πρέπει να χρησιμοποιείται με προσοχή. Θαtarαποκατάσταση από την αρχή, πιθανώς διπλασιάζοντας τον χρόνο αποκατάστασης. Μόνο restarεάν η ανάκτηση φαίνεται εντελώς παγωμένη χωρίς πρόοδο για πολλές ώρες ή εάν υποψιάζεστε ότι η διαδικασία έχει πραγματικά κολλήσει.

Ε: Ποια είναι η διαφορά μεταξύ του ΑΥΤΟΜΑΤΟΥ ΚΛΕΙΣΙΜΑΤΟΣ και της λειτουργίας ανάκτησης;

Α: Η λειτουργία ΑΥΤΟΜΑΤΟΥ ΚΛΕΙΣΙΜΑΤΟΣ κλείνει αυτόματα τις βάσεις δεδομένων όταν δεν υπάρχουν συνδέσεις και, στη συνέχεια, τις ανοίγει ξανά για νέες συνδέσεις. Αυτό το επαναλαμβανόμενο άνοιγμα ενεργοποιεί σύντομες διαδικασίες ανάκτησης κάθε φορά, με αποτέλεσμα να φαίνεται ότι η βάση δεδομένων βρίσκεται συνεχώς σε διαδικασία ανάκτησης. Η απενεργοποίηση της λειτουργίας ΑΥΤΟΜΑΤΟΥ ΚΛΕΙΣΙΜΑΤΟΣ επιλύει αυτό το πρόβλημα.

Ε: Μπορούν τα αντίγραφα ασφαλείας των αρχείων καταγραφής συναλλαγών να βοηθήσουν κατά την ανάκτηση;

Α: Τα αντίγραφα ασφαλείας των αρχείων καταγραφής συναλλαγών μπορούν να ελευθερώσουν χώρο στο αρχείο καταγραφής εάν η μονάδα καταγραφής είναι πλήρης, επιτρέποντας ενδεχομένως τη συνέχιση της ανάκτησης. Ωστόσο, δεν μπορείτε να δημιουργήσετε αντίγραφα ασφαλείας του αρχείου καταγραφής μιας βάσης δεδομένων που βρίσκεται αυτήν τη στιγμή σε λειτουργία ανάκτησης. Τα αντίγραφα ασφαλείας των αρχείων καταγραφής είναι πιο χρήσιμα για την πρόληψη και την...ost- συντήρηση αποκατάστασης.

Ε: Πότε πρέπει να επικοινωνήσω με την Υποστήριξη της Microsoft;

Α: Επικοινωνήστε με την Υποστήριξη της Microsoft για κρίσιμα συστήματα παραγωγής όπου οι ενσωματωμένες μέθοδοι αποκατάστασης αποτυγχάνουν, όταν υποψιάζεστε SQL Server σφάλματα λογισμικού, για σύνθετα σενάρια Always On ή ομαδοποίησης ή όταν τα εταιρικά περιβάλλοντα απαιτούν εγγυημένη ανάκτηση δεδομένων με ελάχιστο χρόνο διακοπής λειτουργίας.

Ε: Πώς μπορώ να αποτρέψω το να κολλήσουν οι βάσεις δεδομένων στην ανάκτηση;

Α: Υλοποιήστε τακτικά πλήρη αντίγραφα ασφαλείας και αντίγραφα ασφαλείας αρχείων καταγραφής, παρακολουθήστε και διαχειριστείτε τις μετρήσεις VLF, εξασφαλίστε επαρκή χώρο στο δίσκο, χρησιμοποιήστε κατάλληλες διαδικασίες τερματισμού λειτουργίας, διατηρήστε την αξιοπιστία του υλικού, απενεργοποιήστε το AUTO CLOSE σε βάσεις δεδομένων παραγωγής και εκτελέστε τακτικές λειτουργίες DBCC CHECKDB για την έγκαιρη ανίχνευση διαφθοράς.

Ε: Τι είναι τα VLF και γιατί επηρεάζουν την ανάκαμψη;

Α: Τα Εικονικά Αρχεία Καταγραφής (VLF) είναι εσωτερικά τμήματα μέσα σε αρχεία καταγραφής συναλλαγών. Πάρα πολλά VLF (πάνω από 1,000) επιβραδύνουν σημαντικά την αποκατάσταση επειδή SQL Server πρέπει να επεξεργάζεται το καθένα ξεχωριστά. Το σωστό μέγεθος αρχείου καταγραφής και οι ρυθμίσεις ανάπτυξης βοηθούν στη διατήρηση βέλτιστων μετρήσεων VLF.

Ε: Μπορώ να κάνω επαναφορά από αντίγραφο ασφαλείας ενώ μια βάση δεδομένων βρίσκεται σε διαδικασία ανάκτησης;

Α: Δεν μπορείτε να κάνετε επαναφορά μέσω μιας βάσης δεδομένων που βρίσκεται αυτήν τη στιγμή σε λειτουργία ανάκτησης. Πρέπει είτε να περιμένετε να ολοκληρωθεί η ανάκτηση είτε να διακόψετε την SQL Server υπηρεσία ή επαναφορά σε διαφορετικό όνομα βάσης δεδομένων. Για επείγουσες καταστάσεις, εξετάστε το ενδεχόμενο επαναφοράς σε νέο όνομα βάσης δεδομένων και μετονομασίας της μόλις επιλυθούν τα προβλήματα αποκατάστασης.

17. Συμπέρασμα και επόμενα βήματα

17.1 Σύνοψη Βασικών Λύσεων

Όταν σας SQL Server Η βάση δεδομένων βρίσκεται σε διαδικασία ανάκτησης, starμε αυτές τις προσεγγίσεις με τη σειρά:

  1. Ελέγξτε τα αρχεία καταγραφής σφαλμάτων και παρακολουθήστε την πρόοδο
  2. Περιμένετε για φυσική ολοκλήρωση εάν η πρόοδος είναι σταθερή
  3. Χρησιμοποιήστε την εντολή ΕΠΑΝΑΦΟΡΑ ΜΕ ΑΝΑΚΤΗΣΗ για ελλιπείς επαναφορές
  4. Αντιμετώπιση προβλημάτων καταγραφής συναλλαγών
  5. Εκτελέστε το DBCC CHECKDB ή επαγγελματικά εργαλεία για διαφθορά
  6. Εξετάστε το ενδεχόμενο δημιουργίας αντιγράφων ασφαλείας για σοβαρές περιπτώσεις.

Most SQL Server Οι καταστάσεις ανάκτησης δεδομένων (dab) επιλύονται μέσα σε λίγες ώρες χρησιμοποιώντας αυτές τις αποδεδειγμένες μεθόδους. Για πολύπλοκα σενάρια, μη διστάσετε να χρησιμοποιήσετε προηγμένες τεχνικές ή επαγγελματικά εργαλεία.

17.2 Πρόσθετοι πόροι

Για περαιτέρω βοήθεια:

Η τακτική συντήρηση και παρακολούθηση αποτρέπουνost προβλήματα αποκατάστασης. Εφαρμόστε τις πρακτικές πρόληψης που περιγράφονται σε αυτόν τον οδηγό για να ελαχιστοποιήσετε μελλοντικές εμφανίσεις MS SQL σε προβλήματα αποκατάστασης.


Σχετικά με το Συγγραφέας

Γιουάν Σενγκ είναι ανώτερος διαχειριστής βάσεων δεδομένων (DBA) με πάνω από 10 χρόνια εμπειρίας σε SQL Server περιβάλλοντα και διαχείριση βάσεων δεδομένων επιχειρήσεων. Έχει επιλύσει με επιτυχία εκατοντάδες σενάρια ανάκτησης βάσεων δεδομένων σε χρηματοοικονομικές υπηρεσίες, υγειονομική περίθαλψη και βιομηχανικούς οργανισμούς.

Ο Γιουάν ειδικεύεται στην SQL Server ανάκτηση βάσεων δεδομένων, λύσεις υψηλής διαθεσιμότητας και βελτιστοποίηση απόδοσης. Η εκτεταμένη πρακτική του εμπειρία περιλαμβάνει τη διαχείριση βάσεων δεδομένων πολλαπλών terabyte, την υλοποίηση ομάδων Always On Availability και την ανάπτυξη αυτοματοποιημένων στρατηγικών δημιουργίας αντιγράφων ασφαλείας και ανάκτησης για κρίσιμα επιχειρηματικά συστήματα.

Μέσω της τεχνικής του εξειδίκευσης και της πρακτικής του προσέγγισης, ο Yuan επικεντρώνεται στη δημιουργία ολοκληρωμένων οδηγών που βοηθούν τους διαχειριστές βάσεων δεδομένων και τους επαγγελματίες πληροφορικής να επιλύουν πολύπλοκα ζητήματα. SQL Server προκλήσεις αποτελεσματικά. Παραμένει ενημερωμένος για τις τελευταίες εξελίξεις SQL Server κυκλοφορίες και τις εξελισσόμενες τεχνολογίες βάσεων δεδομένων της Microsoft, δοκιμάζοντας τακτικά σενάρια ανάκτησης για να διασφαλίσει ότι οι συστάσεις του αντικατοπτρίζουν τις βέλτιστες πρακτικές του πραγματικού κόσμου.

Έχετε ερωτήσεις σχετικά με SQL Server Ανάκτηση ή χρειάζεστε επιπλέον καθοδήγηση για την αντιμετώπιση προβλημάτων βάσης δεδομένων; Ο Yuan είναι ευπρόσδεκτος. σχόλια και προτάσεις για τη βελτίωση αυτών των τεχνικών πόρων.

Κοινή χρήση τώρα: