Αναγν. άρθρου: 209137 - Τελευταία αναθεώρηση: Τετάρτη, 21 Δεκεμβρίου 2005 - Αναθεώρηση: 4.1

Τρόπος αντιμετώπισης προβλημάτων και επιδιόρθωσης μιας κατεστραμμένης βάσης δεδομένων Jet 4.0 στην Access 2000

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

Αυτό το άρθρο αφορά μόνο βάσεις δεδομένων της Microsoft Access (.mdb).

Για την έκδοση αυτού του άρθρου που αφορά τη Microsoft Access 2002 ή την Access 2003, ανατρέξτε στο άρθρο 283849  (http://support.microsoft.com/kb/283849/EL/ ) .

Σε αυτήν τη σελίδα

Ανάπτυξη όλων | Σύμπτυξη όλων

Περίληψη

Το αρχείο της βάσης δεδομένων σας ενδέχεται να υποστεί ζημιά εξαιτίας παραγόντων του περιβάλλοντος. Τα συμπτώματα μιας κατεστραμμένης βάσης δεδομένων ποικίλουν: η ένδειξη "#Διαγραμμένο" ("#Deleted") εμφανίζεται σε ορισμένες εγγραφές, δεν είναι δυνατό να ανοιχτεί ένα από τα αντικείμενα της βάσης δεδομένων ή δεν είναι δυνατό να ανοιχτεί όλο το αρχείο στην Access. Το βοηθητικό πρόγραμμα "Συμπύκνωση και επιδιόρθωση" (Compact and Repair) της Microsoft Access είναι ένα χρήσιμο εργαλείο το οποίο μπορείτε να χρησιμοποιήσετε για την ανάκτηση και τη βελτιστοποίηση αρχείων βάσεων δεδομένων της Microsoft Access 2000. Αυτό το άρθρο περιγράφει το συγκεκριμένο βοηθητικό πρόγραμμα της Access 2000 και, στη συνέχεια, παρέχει τρόπους για την επιδιόρθωση κατεστραμμένων βάσεων δεδομένων. Παρέχονται επίσης πληροφορίες σχετικά με τις αιτίες μιας κατεστραμμένης βάσης δεδομένων.

Περισσότερες πληροφορίες

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

Το βοηθητικό πρόγραμμα "Συμπύκνωση και επιδιόρθωση" (Compact and Repair)

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

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

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

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

    Όταν διαγράφονται αντικείμενα ή εγγραφές από τη βάση δεδομένων, ο χώρος που καταλαμβάνουν επισημαίνεται ως διαθέσιμος για νέες προσθήκες στη βάση δεδομένων. Ωστόσο, το μέγεθος της βάσης δεδομένων δεν συρρικνώνεται ποτέ, αν δεν γίνει συμπύκνωση της βάσης δεδομένων. Θα πρέπει να γίνεται συχνά συμπύκνωση σε βάσεις δεδομένων στις οποίες προστίθενται, διαγράφονται και ενημερώνονται συχνά αντικείμενα και εγγραφές.
  • Επαναφέρει τα πεδία βηματικής "Αυτόματης αρίθμησης" (AutoNumber), έτσι ώστε η επόμενη τιμή που εκχωρείται να είναι κατά μία τιμή μεγαλύτερη από την υψηλότερη τιμή των εγγραφών που απομένουν.

    Για παράδειγμα, αν έχουν διαγραφεί όλες οι εγγραφές στη βάση δεδομένων, μετά τη συμπύκνωση της βάσης δεδομένων, το πεδίο "Αυτόματης αρίθμησης" (AutoNumber) θα έχει την τιμή 1, όταν προστεθεί η επόμενη εγγραφή. Αν το 50 είναι η υψηλότερη τιμή "Αυτόματης αρίθμησης" (AutoNumber) από αυτές που απομένουν στη βάση δεδομένων, μετά τη συμπύκνωση η τιμή θα γίνει 51, όταν προστεθεί η επόμενη εγγραφή. Σημειώστε ότι αυτό ισχύει ακόμη και αν είχαν προηγουμένως προστεθεί εγγραφές που περιείχαν τιμές μεγαλύτερες από την τιμή 50, αλλά οι οποίες διαγράφηκαν πριν από τη συμπύκνωση.
  • Δημιουργεί ξανά τα στατιστικά στοιχεία πίνακα που χρησιμοποιούνται στη διαδικασία βελτιστοποίησης ερωτήματος.

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

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

Σημαντικές οδηγίες για την εκτέλεση του βοηθητικού προγράμματος συμπύκνωσης και επιδιόρθωσης (Compact and Repair)

Για να μπορέσετε να εκτελέσετε το βοηθητικό πρόγραμμα συμπύκνωσης και επιδιόρθωσης σε μια βάση δεδομένων, πρέπει να πληρούνται οι εξής συνθήκες:
  • Πρέπει να συνδεθείτε με ένα λογαριασμό με δικαιώματα ασφαλείας τροποποίησης σχεδίασης (Modify Design) ή διαχείρισης (Administer) για όλους τους πίνακες της βάσης δεδομένων.
  • Πρέπει να υπάρχει επαρκής χώρος στο δίσκο τόσο για την αρχική όσο και για τη συμπυκνωμένη έκδοση της βάσης δεδομένων, ακόμη και αν η βάση δεδομένων συμπυκνώνεται μέσα από το περιβάλλον εργασίας χρήστη της Microsoft Access 2000, χρησιμοποιώντας το ίδιο όνομα αρχείου.

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

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

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

Τα ακόλουθα βήματα περιγράφουν μια γενική μέθοδο, την οποία μπορείτε να χρησιμοποιήσετε για την επιδιόρθωση μιας κατεστραμμένης βάσης δεδομένων:
  1. Εγκαταστήστε το πιο πρόσφατο Service Pack για το Microsoft Jet.

    Με αυτήν την ενέργεια εξασφαλίζεται ότι θα έχετε τις τελευταίες ενημερώσεις κώδικα εντοπισμού σφαλμάτων για το Microsoft Jet. Για πρόσθετες πληροφορίες σχετικά με τον τρόπο λήψης του τελευταίου Service Pack για το των Jet 4.0, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
    239114  (http://support.microsoft.com/kb/239114/EL/ ) Διαδικασίες: Λήψη του πιο πρόσφατου Service Pack για το μηχανισμό διαχείρισης βάσεων δεδομένων Microsoft Jet 4.0
    Εάν εργάζεστε σε περιβάλλον δικτύου, θα πρέπει να εγκαταστήσετε το τελευταίο Service Pack του Microsoft Jet σε όλους τους υπολογιστές-πελάτες. Δεν χρειάζεται να εγκαταστήσετε το Service Pack του Microsoft Jet στο διακομιστή αρχείων δικτύου, εκτός εάν ο διακομιστής αρχείων δικτύου εκτελεί και μία ή περισσότερες εφαρμογές που χρησιμοποιούν το Microsoft Jet.
  2. Δημιουργήστε ένα αντίγραφο του αρχείου της κατεστραμμένης βάσης δεδομένων (.mdb) ως αντίγραφο ασφαλείας.
  3. Διαγράψτε το αρχείο .ldb, αν υπάρχει. Θα πρέπει να κλείσετε το αντίστοιχο αρχείο .mdb, προτού διαγράψετε αυτό το αρχείο.

    Το αρχείο .ldb χρησιμοποιείται για τον προσδιορισμό των αρχείων που κλειδωμένα σε μια κοινόχρηστη βάση δεδομένων και του χρήστη που τα έχει κλειδώσει. Αν μια βάση δεδομένων έχει ανοιχτεί για κοινή χρήση, τότε το αρχείο .ldb δημιουργείται με όνομα ίδιο με το όνομα της αντίστοιχης βάσης δεδομένων (.mdb). Για παράδειγμα, αν ανοίξετε (για κοινή χρήση) το δείγμα βάσης δεδομένων Northwind.mdb στο φάκελο C:\Msoffice\Access, τότε στον ίδιο φάκελο δημιουργείται αυτόματα ένα αρχείο με το όνομα Northwind.ldb. Το αρχείο .ldb διαγράφεται αυτόματα μετά την έξοδο του τελευταίου χρήστη από τη βάση δεδομένων, εκτός από δύο περιπτώσεις:

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

    Κατά την αντιμετώπιση προβλημάτων για την εύρεση των αιτιών καταστροφής της βάσης δεδομένων, μερικές φορές μπορεί να είναι αναγκαίο να δείτε ποιοι χρήστες έχουν συνδεθεί με τη βάση δεδομένων. Με τη Microsoft Visual Basic for Applications στην Access 2000 μπορείτε να δημιουργήσετε μια λίστα των χρηστών που είναι συνδεδεμένοι με μια συγκεκριμένη βάση δεδομένων. Για πρόσθετες πληροφορίες σχετικά με αυτήν τη διαδικασία καθώς και για παράδειγμα κώδικα, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο στη Γνωσιακή Βάση της Microsoft (Knowledge Base):
    198755  (http://support.microsoft.com/kb/198755/EL/ ) ΔΙΑΔΙΚΑΣΙΕΣ: Έλεγχος των συνδεδεμένων χρηστών σε μια βάση δεδομένων με το Jet UserRoster στην Access 2000
  4. Εκτελέστε το βοηθητικό πρόγραμμα συμπύκνωσης και επιδιόρθωσης (Compact and Repair) με τον ακόλουθο τρόπο:
    • Αν η βάση δεδομένων είναι ανοιχτή, κλείστε την.
    • Στο μενού Εργαλεία (Tools), τοποθετήστε το δείκτη του ποντικιού στην επιλογή Βοηθήματα για βάσεις δεδομένων (Database Utilities) και, στη συνέχεια, κάντε κλικ στην εντολή Συμπύκνωση και επιδιόρθωση της βάσης δεδομένων (Compact and Repair Database).
    • Στο παράθυρο διαλόγου Βάση δεδομένων από την οποία θα γίνει συμπύκνωση (Compact Database From), επιλέξτε το αρχείο που θέλετε να συμπυκνώσετε και, στη συνέχεια, κάντε κλικ στο κουμπί Συμπύκνωση (Compact).
    • Στο παράθυρο διαλόγου Συμπύκνωση της βάσης δεδομένων στην (Compact Database Into), πληκτρολογήστε ένα νέο όνομα αρχείου και κάντε κλικ στο κουμπί Αποθήκευση (Save).

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

    Σημειώστε ότι δεν είναι δυνατή η εισαγωγή σελίδων πρόσβασης δεδομένων με τον "Οδηγό εισαγωγής" (Import Wizard). Αντί για αυτό, πρέπει να ανοίξετε μια υπάρχουσα σελίδα πρόσβασης δεδομένων στη νέα βάση δεδομένων. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
    • Στο παράθυρο της βάσης δεδομένων, κάντε κλικ στην επιλογή Σελίδες (Pages), στην περιοχή Αντικείμενα (Objects).
    • Κάντε κλικ στο κουμπί Δημιουργία (New).
    • Στο παράθυρο διαλόγου Νέα σελίδα πρόσβασης δεδομένων (New Data Access Page), κάντε κλικ στην επιλογή Υπάρχουσα ιστοσελίδα (Existing Web page) και, στη συνέχεια, κάντε κλικ στο κουμπί OK.
  6. Αν η ζημιά παρουσιάζεται σε έναν πίνακα, ο οποίος δεν ανακτήθηκε με τα προηγούμενα βήματα, τότε δοκιμάστε το εξής:

    • Κάντε εξαγωγή του πίνακα μέσα από τη Microsoft Access 2000 σε ένα αρχείο ASCII (οριοθετημένο κείμενο). Για περισσότερες πληροφορίες σχετικά με αυτό το θέμα, μπορείτε να αναζητήσετε τη φράση delimited text και, στη συνέχεια, να προβάλετε το θέμα exporting Access data, χρησιμοποιώντας την καρτέλα Index της "Βοήθειας" (Help) της Microsoft Access.
    • Διαγράψτε όποιες σχέσεις σχετίζονται με τον πίνακα και κατόπιν διαγράψτε τον πίνακα από τη βάση δεδομένων.
    • Συμπυκνώστε τη βάση δεδομένων.
    • Επαναλάβετε τη δημιουργία του πίνακα και των σχέσεων που είχε.
    • Χρησιμοποιώντας ένα πρόγραμμα επεξεργασίας κειμένου, μπορείτε να εξετάσετε το αρχείο ASCII για κατεστραμμένα ή παράξενα δεδομένα και, στη συνέχεια, να καταργήσετε τις εγγραφές αυτές. Αποθηκεύστε το αρχείο σε μορφή αρχείου κειμένου ASCII.
    • Επαναλάβετε την εισαγωγή του αρχείου ASCII στον πίνακα που μόλις δημιουργήθηκε ξανά. Για περισσότερες πληροφορίες σχετικά με αυτό το θέμα, μπορείτε να αναζητήσετε τη φράση delimited text και, στη συνέχεια, να προβάλετε το θέμα "importing or linking", χρησιμοποιώντας την καρτέλα Index της "Βοήθειας" (Help) της Microsoft Access.
    • Καταχωρήστε ξανά τις εγγραφές τις οποίες διαγράψατε αναγκαστικά.
  7. Αν η ζημιά εντοπίζεται σε μια φόρμα ή έκθεση, η ζημιά μπορεί να έχει γίνει είτε στην ίδια τη φόρμα ή την έκθεση ή σε ένα ή περισσότερα στοιχεία ελέγχου της φόρμας ή της έκθεσης. Μπορείτε να διαγράψετε τη φόρμα ή την έκθεση και, στη συνέχεια, να την εισαγάγετε από το αντίγραφο ασφαλείας της βάσης δεδομένων σας ή να χρησιμοποιήσετε μία από τις ακόλουθες επιλογές:
    • Αν η καταστροφή εντοπίζεται στην ίδια τη φόρμα ή έκθεση, μπορείτε να δημιουργήσετε μια νέα φόρμα ή έκθεση και, στη συνέχεια, να αντιγράψετε τα στοιχεία ελέγχου από την αρχική φόρμα ή έκθεση.
    • Αν η ζημιά έχει γίνει σε ένα στοιχείο ελέγχου της φόρμας ή της έκθεσης, μπορείτε να δημιουργήσετε μια νέα φόρμα ή έκθεση και στη συνέχεια να δημιουργήσετε ξανά τα στοιχεία ελέγχου στη νέα φόρμα ή έκθεση. Πρέπει να δημιουργήσετε ξανά όλα τα στοιχεία ελέγχου, επειδή δεν υπάρχει τρόπος να καταλάβετε ποια στοιχεία ελέγχου είναι κατεστραμμένα.
  8. Αν η ζημιά εντοπίζεται σε μια μακροεντολή ή σε μια λειτουργική μονάδα, η ζημιά μπορεί να έχει γίνει στην ίδια τη μακροεντολή ή τη λειτουργική μονάδα ή στα περιεχόμενα της μακροεντολής ή της λειτουργικής μονάδας. Μπορείτε να διαγράψετε τη μακροεντολή ή τη λειτουργική μονάδα και να την εισαγάγετε από το αντίγραφο ασφαλείας της βάσης δεδομένων ή να χρησιμοποιήσετε μία από τις ακόλουθες επιλογές:
    • Αν η ζημιά έχει γίνει στην ίδια τη μακροεντολή ή τη λειτουργική μονάδα, μπορείτε να δημιουργήσετε μια νέα μακροεντολή ή λειτουργική μονάδα και, στη συνέχεια, να αντιγράψετε τα περιεχόμενα της αρχικής μακροεντολής ή λειτουργικής μονάδας.
    • Η ζημιά μπορεί να επηρεάσει ενσωματωμένους στη λειτουργική μονάδα χαρακτήρες που δεν είναι ASCII. Αποθηκεύστε τη λειτουργική μονάδα ως αρχείο κειμένου, καταργήστε τα κατεστραμμένα ή παράξενα δεδομένα και στη συνέχεια φορτώστε ξανά το αρχείο κειμένου σε μια νέα λειτουργική μονάδα.
    • Αν η ζημιά έχει γίνει στα περιεχόμενα της μακροεντολής ή της λειτουργικής μονάδας, πρέπει να δημιουργήσετε μια νέα μακροεντολή ή λειτουργική μονάδα και, στη συνέχεια, να δημιουργήσετε ξανά τα περιεχόμενα της αρχικής μακροεντολής ή λειτουργικής μονάδας.
Αν με αυτά τα βήματα δεν μπορείτε να επιδιορθώσετε τη βάση δεδομένων, τότε πιθανότατα η βάση έχει καταστραφεί και δεν είναι δυνατό να επιδιορθωθεί. Εάν ισχύει αυτό, θα πρέπει να επαναφέρετε το τελευταίο αντίγραφο ασφαλείας της βάσης δεδομένων ή να δημιουργήσετε ξανά τη βάση δεδομένων.

Ως τελευταία επιλογή, μερικοί σύμβουλοι μπορεί να παράσχουν μια υπηρεσία επιδιόρθωσης βάσεων δεδομένων της Microsoft Access. Επειδή πρόκειται για μια πολύ εξειδικευμένη υπηρεσία, ο πιο αποτελεσματικός τρόπος να εντοπίσετε ένα σύμβουλο είναι να αποστείλετε ένα μήνυμα στην ομάδα συζήτησης του Internet Third Party and User Groups της Microsoft Access, η οποία έχει την ακόλουθη διεύθυνση ομάδας συζήτησης:
microsoft.public.access.3rdpartyusrgrp
Για πρόσθετες πληροφορίες σχετικά με τις ομάδες συζήτησης της Microsoft Access στο Internet, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο στη Γνωσιακή Βάση της Microsoft (Knowledge Base):
150057  (http://support.microsoft.com/kb/150057/EL/ ) ACC: Ομάδες συζήτησης της Microsoft Access που είναι διαθέσιμες στο Internet

Συνηθισμένες αιτίες για το κατεστραμμένο αρχείο .mdb

Υπάρχουν τέσσερις βασικές αιτίες για τα κατεστραμμένα αρχεία mdb της Access ή του Jet.

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

Συνίσταται ιδιαιτέρως ο σωστός τερματισμός, κάνοντας κλικ στην εντολή Έξοδος (Exit) ή Κλείσιμο (Close) του μενού Αρχείο (File). Ωστόσο, αν η βάση δεδομένων είναι ανοιχτή και γίνεται εγγραφή δεδομένων όταν η Access τερματίζεται εσφαλμένα, τότε ο μηχανισμός διαχείρισης βάσης δεδομένων Jet ενδέχεται να επισημάνει ότι το αρχείο ενδέχεται να έχει σφάλμα ή να είναι κατεστραμμένο. Αυτό μπορεί να συμβεί αν ο υπολογιστής κλείσει με μη αυτόματο τρόπο, χωρίς να τερματιστούν πρώτα τα Windows, ή αν γίνει διακοπή ρεύματος. Σε άλλες περιπτώσεις μπορεί να μην τερματιστεί η Access, αλλά είναι πιθανό να παρεμποδιστεί η εγγραφή δεδομένων στο δίσκο από το Jet, ενώ η βάση δεδομένων είναι ανοιχτή. Αυτό μπορεί να συμβεί, για παράδειγμα, όταν παρουσιαστούν διενέξεις δεδομένων ή δυσλειτουργίες μονάδων δίσκου σε δίκτυα. Αν συμβεί μία από αυτές τις διακοπές, τότε ο μηχανισμός Jet ενδέχεται να επισημάνει τη βάση δεδομένων ως ενδεχομένως κατεστραμμένη.

Όταν ο μηχανισμός Jet αρχίσει μια λειτουργία εγγραφής, καθορίζει μια σημαία και, στη συνέχεια, την επαναφέρει όταν ολοκληρωθεί η λειτουργία. Αν μια λειτουργία εγγραφής διακοπεί, η σημαία παραμένει. Όταν προσπαθήσετε να ανοίξετε ξανά αυτήν τη βάση δεδομένων, ο μηχανισμός Jet διαπιστώνει ότι η σημαία έχει καθοριστεί και, στη συνέχεια, αναφέρει ότι η βάση δεδομένων είναι κατεστραμμένη. Τις περισσότερες φορές, τα δεδομένα στη βάση δεδομένων δεν είναι πράγματι κατεστραμμένα, αλλά η καθορισμένη σημαία προειδοποιεί το μηχανισμό Jet ότι ενδέχεται να είναι κατεστραμμένα. Σε τέτοιες περιπτώσεις, η συμπύκνωση ή/και η επιδιόρθωση της βάσης δεδομένων μπορεί συνήθως να επαναφέρει τη βάση δεδομένων. Ευτυχώς, υπάρχουν τρόποι για να προσδιορίσετε το χρήστη και το σταθμό εργασίας που ευθυνόταν για τη σήμανση του αρχείου ως ενδεχομένως κατεστραμμένο. Για να προσδιορίσετε τους χρήστες ή/και τους σταθμούς εργασίας που ενδέχεται να ευθύνονται για τη σήμανση του αρχείου ως κατεστραμμένο από το Jet, ανατρέξτε στο θέμα "Τρόπος προσδιορισμού των χρηστών/σταθμών εργασίας που προκαλούν τη σήμανση του αρχείου ως ενδεχομένως κατεστραμμένο", στη συνέχεια αυτού του άρθρου.

Ελαττωματικό υλικό δικτύου

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

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

Άνοιγμα και αποθήκευση του αρχείου .mdb σε ένα άλλο πρόγραμμα

Δεν υπάρχει τρόπος να ανακτήσετε ένα αρχείο .mdb, το οποίο ανοίχτηκε και μετά αποθηκεύτηκε σε ένα διαφορετικό πρόγραμμα. Για παράδειγμα, το Microsoft Word σας επιτρέπει να ανοίξετε μια βάση δεδομένων της Access και, στη συνέχεια, να την αποθηκεύσετε. (Δεν εξυπηρετεί σε τίποτα να ανοίξετε ένα αρχείο .mdb σε μια άλλη εφαρμογή, αφού θα εμφανίζονται μόνο εκτεταμένοι χαρακτήρες.) Η αποθήκευση του αρχείου με αυτόν τον τρόπο θα έχει ως αποτέλεσμα το αρχείο .mdb να σας ζητήσει έναν κωδικό πρόσβασης για τη βάση δεδομένων, όταν προσπαθείτε να το ανοίξετε στην Access. Αυτό συμβαίνει ακόμα και αν το αρχείο δεν είχε ποτέ προστασία με κωδικό πρόσβασης στην Access. Η ερώτηση για κωδικό πρόσβασης εμφανίζεται σε τέτοιες περιπτώσεις, επειδή η πρώτη περιοχή byte που ελέγχει η Access κατά το άνοιγμα ενός αρχείου είναι το σημείο όπου βρίσκεται ο κωδικός πρόσβασης της βάσης δεδομένων. Αν αυτό το byte περιέχει κατεστραμμένα δεδομένα, η Access θεωρεί ότι το αρχείο έχει προστασία κωδικού πρόσβασης. Ακόμη και αν υπήρχε τρόπος παράκαμψης της ερώτησης για κωδικό πρόσβασης σε αυτήν την περίπτωση, δεν θα υπήρχε και πάλι δυνατότητα ανάκτησης της βάσης δεδομένων, επειδή η δυαδική δομή είναι κρυπτογραφημένη και επομένως δεν είναι δυνατή η ανάγνωσή της στην Access. Η ανάκτηση ενός αντιγράφου ασφαλείας του αρχείου είναι η μοναδική λύση σε αυτήν την περίπτωση. Για πρόσθετες πληροφορίες σχετικά με αυτό το θέμα, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
243895  (http://support.microsoft.com/kb/243895/EL/ ) ACC2000: Εμφανίζεται ερώτηση για εισαγωγή κωδικού πρόσβασης στη βάση δεδομένων ακόμη και αν δεν έχει οριστεί

Εκδόσεις του μηχανισμού βάσεων δεδομένων Jet που δεν ταιριάζουν

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

Τρόπος προσδιορισμού των χρηστών/σταθμών εργασίας που προκαλούν τη σήμανση του αρχείου ως ενδεχομένως κατεστραμμένο

Κατά την αντιμετώπιση προβλημάτων για την εύρεση των αιτιών καταστροφής της βάσης δεδομένων, μερικές φορές μπορεί να είναι αναγκαίο να δείτε ποιοι χρήστες έχουν συνδεθεί με τη βάση δεδομένων. Με τη Microsoft Visual Basic for Applications στην Access 2000 μπορείτε να δημιουργήσετε μια λίστα των χρηστών που είναι συνδεδεμένοι με μια συγκεκριμένη βάση δεδομένων.

Για πρόσθετες πληροφορίες σχετικά με αυτήν τη διαδικασία καθώς και για παράδειγμα κώδικα, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο στη Γνωσιακή Βάση της Microsoft (Knowledge Base):
198755  (http://support.microsoft.com/kb/198755/EL/ ) ΔΙΑΔΙΚΑΣΙΕΣ: Έλεγχος των συνδεδεμένων χρηστών σε μια βάση δεδομένων με το Jet UserRoster στην Access 2000

Μέθοδοι που είναι δυνατόν να χρησιμοποιηθούν για την αποτροπή της καταστροφής

  • Αποφύγετε τη διακοπή ρεύματος στη διάρκεια της εγγραφής σε μια βάση δεδομένων. Στην περίπτωση διακοπής ρεύματος κατά την εγγραφή σε μια βάση δεδομένων, η βάση δεδομένων μπορεί να παραμείνει σε ενδεχομένως κατεστραμμένη κατάσταση.
  • Να αποφεύγετε τις διακοπές των συνδέσεων δικτύου.
  • Να αποφεύγετε τον τερματισμό των συνδέσεων του Microsoft Jet με εσφαλμένο τρόπο, όπως διακοπή ρεύματος, μη αυτόματος τερματισμός λειτουργίας ή τερματισμός της λειτουργίας της εφαρμογής από τη "Διαχείριση Εργασιών" (Task Manager).
  • Κατά τον προγραμματισμό, κλείστε όλα τα αντικείμενα DAO και ADO που είναι ανοιχτά. Στα παραδείγματα τέτοιων αντικειμένων περιλαμβάνονται τα αντικείμενα Recordset, QueryDef, TableDef και Database.
  • Τα ανεπανόρθωτα σφάλματα συστήματος έχουν σχεδόν πάντα ως αποτέλεσμα τον τερματισμό με μη φυσιολογικό τρόπο. Αν η βάση δεδομένων σας παρουσιάζει συχνά ανεπανόρθωτα σφάλματα, πρέπει να επιλύσετε τα σφάλματα, πριν η βάση δεδομένων καταστραφεί σε τέτοιο σημείο ώστε να μην είναι δυνατό το άνοιγμα ή η ανάκτησή της.Για πρόσθετες πληροφορίες σχετικά με τα ανεπανόρθωτα σφάλματα συστήματος, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο στη Γνωσιακή Βάση της Microsoft (Knowledge Base):
    208488  (http://support.microsoft.com/kb/208488/EL/ ) ACC2000: Τρόπος αντιμετώπισης προβλημάτων για σφάλματα μη έγκυρης σελίδας στην Access 2000
  • Να συμπυκνώνετε τακτικά τη βάση δεδομένων.
  • Να μην εκτελείτε IPX σε διακομιστή που βασίζεται σε Windows NT, όπου οι βάσεις δεδομένων Jet βρίσκονται στο δίκτυο και το πρόγραμμα-πελάτης είναι τα Microsoft Windows 95 με IPX/SPX (Internet Packet Exchange/Sequenced Packet Exchange). Αντί για αυτό, να εκτελείτε το TCP-IP στον διακομιστή που βασίζεται σε Windows NT και μια στοίβα δύο πρωτοκόλλων IPX και TCP-IP στο πρόγραμμα-πελάτη Win95. (Τα Windows NT σε Windows NT με IPX/SPX δεν δημιουργού αυτό το ζήτημα, ούτε το Novell με οποιοδήποτε πρόγραμμα-πελάτη.)
  • Να αποφεύγετε τον μεγάλο αριθμό λειτουργιών ανοίγματος/κλεισίματος σε μια επανάληψη (40.000 διαδοχικές λειτουργίες ανοίγματος/κλεισίματος έως περισσότερες από 1.000.000).
  • Βεβαιωθείτε ότι το πιο πρόσφατο Service Pack του Microsoft Jet είναι εγκατεστημένο σε όλους τους υπολογιστές-πελάτες που κάνουν πρόσβαση στο αρχείο βάσης δεδομένων.

Αναφορές

Για περισσότερες πληροφορίες σχετικά με την επιδιόρθωση βάσεων δεδομένων, κάντε κλικ στην εντολή Βοήθεια για τη Microsoft Access (Microsoft Access Help) στο μενού Βοήθεια (Help), πληκτρολογήστε repairing στην καρτέλα "Αναζήτηση" (Office Assistant ή καρτέλα Answer Wizard) και κατόπιν κάντε κλικ στο κουμπί Λίστα θεμάτων (Search), για να προβάλετε το θέμα.

Για πρόσθετες πληροφορίες σχετικά με το βοηθητικό πρόγραμμα με δυνατότητα λήψης το οποίο είναι επίσης δυνατό να επιδιορθώσει μια κατεστραμμένη βάση δεδομένων, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
273956  (http://support.microsoft.com/kb/273956/EL/ ) ACC2000: Διάθεση του βοηθητικού προγράμματος Jet Compact από το "Κέντρο Λήψης" (Download Center)
Για πρόσθετες πληροφορίες σχετικά με την αντιμετώπιση προβλημάτων βάσεων δεδομένων σε προηγούμενες εκδόσεις της Access, κάντε κλικ στους αριθμούς των άρθρων παρακάτω, για να προβάλετε τα άρθρα στη Γνωσιακή Βάση της Microsoft (Knowledge Base):
279334  (http://support.microsoft.com/kb/279334/EL/ ) ACC97: Τρόπος επιδιόρθωσης μιας κατεστραμμένης βάσης δεδομένων Jet 3.5
109953  (http://support.microsoft.com/kb/109953/EL/ ) ACC: Τρόπος αντιμετώπισης προβλημάτων και επιδιόρθωσης μιας κατεστραμμένης βάσης δεδομένων Jet 3.0 και παλαιότερων βάσεων δεδομένων

Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Access 2000 Standard Edition
Λέξεις-κλειδιά: 
kbcorrupt kbrepair kbtshoot kbdatabase kbhowto KB209137