Was Sie selbst noch versuchen können...
Home |
So helfen Sie sich selbst |
Rettungs-
|
Preise |
Access Memory Reporter |
Links |
Kontakt |
AGB |
Bestimmte Reparatur-Techniken können Sie bei beschädigten Datenbanken selbst anwenden. Die Erfolgsaussichten sind manchmal gar nicht schlecht!
1. Schritt |
Bewahren Sie Ruhe! Verschaffen Sie sich erst einen Überblick, bevor Sie an Dateien Maßnahmen vornehmen oder auch nur Access schließen. |
2. Schritt: |
Lesen Sie die Hintergrundinformationen durch, so dass Sie eine Vorstellung davon bekommen, was beim Komprimieren und Reparieren mit Hilfe von Access passiert. |
3. Schritt: |
Legen Sie eine Sicherungskopie der beschädigten Datenbank an. Idealerweise sichern Sie auch eine eventuell vorhandene *.ldb-Datei mit. Achtung! In seltenen Fällen ist die Ursache für eine beschädigte Access-Datenbank eine defekte Festplatte. Haben Sie keine funktionierende Datensicherungskopie des Vortages und kommt wegen der extremen Wichtigkeit der Daten die kostspielige Reparatur einer beschädigten Festplatte in Frage, so sollten Sie die Datei unbedingt nicht auf die Festplatte, sondern auf ein anderes Medium kopieren und die Reparaturversuche auf einen zweiten Rechner durchführen. Hintergrund: Wenn die Datei durch fehlerhaft zugeordnete Sektoren auf der Festplatte beschädigt sein sollte, dann überschreiben Sie mit Kopieraktionen u.U. Sektoren der Festplatte, die noch Daten Ihrer Datenbankdatei enthalten können. Sie sollten also alle Maßnahmen auf diesem Rechner unterlassen. Sie sollten auch keine Programme mehr auf diesem Rechner ausführen. Wir können der Datei ansehen, ob Sie „normal“ beschädigt ist, oder ob fehlerhafte Sektorenzuordnung die Ursache ist. Normalfall: Ist eine funktionierende Sicherungskopie des Vortages vorhanden oder lohnen die Daten eine aufwendige (von uns nicht angebotene) Reparatur der Festplatte nicht, so können Sie das Risiko eingehen und die Sicherungskopie auf die Festplatte legen und die Reparaturversuche an der Datei auf der Festplatte durchführen. |
4. Schritt: |
Schauen Sie in der Liste der typischen Beschädigungen nach, ob Sie die von Ihnen festgestellten Symptome dort beschrieben finden. Sind
Sie fündig geworden, so können Sie die in der Spalte „Lösung“
erfahren, ob und ggf. wie Sie selbst Ihre Daten wiederherstellen können. |
5. Schritt: |
Beseitigen Sie die Ursachen der Beschädigung. Mögliche Vorgehensweisen sind unter Ursachensuche beschrieben. |
Fertigen Sie - bevor Sie mit eigenen Reparaturversuchen beginnen - immer eine Sicherheitskopie an! Diese können Sie verwenden, falls eine Datenrettung durch uns erforderlich werden sollte. Fertigen Sie auch eine Sicherheitskopie der *.ldb-Datei an. Diese wird normalerweise (ab Access-Version 95) von Access automatisch gelöscht, sobald sich kein Benutzer mehr in der Datenbank befindet. Ist die Datenbank jedoch nicht korrekt geschlossen worden, so bleibt diese *.ldb-Datei bestehen und enthält wichtige Informationen darüber, welche Arbeitsstation am Absturz mitbeteiligt war.
Access hat bis einschließlich Version 97 zwei getrennte Menüpunkte zum Reparieren und Komprimieren von Datenbanken. Wenn Sie für A97 das Update auf die Jet-Engine 3.51 eingespielt haben, wird beim Komprimieren jedoch auch der Reparaturvorgang angestoßen (KB Q182867). Mit dieser neueren Version können auch die vorhergehenden Access-Versionen 1.0 bis A95 repariert werden.
Auf den Microsoft-Support-Seiten finden Sie zusätzlich ein Standalone-Werkzeug JetComp.exe, welches die Datenbank zwecks Reparatur nicht vorab öffnen muss. Daher kann es einige Fehler beheben, die die über den Menüpunkt erreichbare Komprimierungsroutine nicht beheben kann. Auch ist es nicht auf die Indices der Systemtabelle MSysObjects angewiesen, sodass es bei Beschädigungen dieser Indices die Datenbank trotzdem reparieren kann. Dieses Tool kann für Datenbanken der Jet-Engine 3.X und 4.X verwendet werden (also ab A95, nicht jedoch für Access 2.0 und 1.X).
Die in Access eingebauten Reparatur-Routinen reparieren lediglich Tabellen, Abfragen und Indices (Knowledge Base D39429). Formulare, Berichte, Makros und Module werden nicht repariert.
Die Tabellen werden in der Datenbank neu angeordnet, sodass sie im Speicher an einem Stück liegen. Dadurch wird der Zugriff etwas beschleunigt.
Der Speicherplatz von gelöschten Objekten wird nun tatsächlich freigegeben.
Setzt aufsteigend nummerierte Autowertfelder zurück. Der nächste Autowert wird eins über dem größten in der Tabelle noch vorhandenen Wert liegen.
Bestimmt die statistischen Daten der Tabellen zur Abfrageoptimierung neu.
Hinweis: | Beim Komprimieren wird eine Zwischendatei (typischerweise db1.mdb, db2.mdb, usf.) generiert. Erst nach dem erfolgreichen Abschluss des Komprimierungsvorganges wird die Originaldatei gelöscht und die Zwischendatei umbenannt. Unter Windows NT hat das die Folge, dass die neue Datei die Verzeichnis-Berechtigungen erbt. Hat man also für die Originaldatei andere NT-Benutzer-Rechte vergeben, so sind die nach dem Komprimieren u.U. verändert! |
Hinweis: | Wir haben mehrfach feststellen können, dass manche Beschädigungen erst nach dem Reparieren UND Komprimieren verschwanden (gilt nur für Access-Versionen vor Access 97 SR1). |
Hinweis: | Solange eine Datenbank nicht komprimiert wurde, können die darin enthaltenen gelöschten Tabellen und ein Teil der gelöschten Datensätze von uns wiederhergestellt werden. |
Hinweis: | Schlägt ein Komprimier-/Reparaturversuch fehl, so können Sie manchmal einen Teil der Tabellen in der Zwischendatei (die dann nämlich nicht gelöscht wird) wiederfinden. |
- An die in den Tabellen gespeicherten Daten kommt man eventuell noch mit folgenden Methoden heran:
- Eine neue Datenbank anlegen und über die Importmechanismen auf die beschädigte Datenbankdatei zuzugreifen.
- Eine neue Datenbank anlegen und mit Access-Programmierung (DAO) auf die Tabellen zugreifen (OpenDatabase und OpenRecordset).
- Eine ODBC-Verbindung zur defekten Datenbank herstellen.
Diese Wege sind immer dann von Erfolg gekrönt, wenn die Beschädigungen der Datenbank diejenigen "Objekte" betreffen, die für die Darstellung der Tabellen und des Datenbankcontainers verantwortlich sind, die Tabellen selbst jedoch unbeschädigt sind. Manchmal stoppt Access den Importvorgang bei einer bestimmten Tabelle. Dann hilft u.U. die Tabellen einzeln zu Importieren, dabei die beschädigte Tabelle auslassen.
- Wenn ein VBA-Modul eines Formulares oder eines Berichtes defekt ist, so können Sie wenigstens die Steuerelemente und das Layout dieses Objektes retten, indem Sie die Eigenschaft "Enthält Modul" (Has Module) auf false setzen und das Objekt speichern. Dabei verlieren Sie das dem Objekt zugeordnete Modul.
- Sie können versuchen die Datenbank mit einer neueren Version von Access zu öffnen oder zu reparieren.
Dies ist ein undokumentierter Befehl. Mit Hilfe dieses Schalters werden die Objekte der Datenbank dekompiliert. Dies kann in manchen Fällen helfen, wo der generierte P-Code defekt ist, die Quelltexte jedoch noch in Ordnung sind. Hat keine Auswirkungen auf defekte Tabellen, sondern nur auf Formulare, Berichte und Module.
Verwenden Sie diese Möglichkeit sparsam und testen Sie Ihre Datenbank anschließend ausgiebig!
Beschädigungen entstehen durch
Störungen im Netzwerk (auch nur ganz kurzfristige!), häufig verursacht durch defekte Netzwerkkarten
Unter Windows NT und Windows 2000 scheint das Opportunistic Locking häufig Probleme zu bereiten
Stromausfälle
Abnorme Programmabstürze (Benutzer schaltet Rechner einfach aus oder Programm „hängt“)
Die Datei wurde mit einem anderen Programm als Access geöffnet und damit gespeichert.
Access-Bugs (genauer: eigentlich JET-Bugs)
Ganz lassen sich Beschädigungen nicht unterbinden. Die wichtigste Maßnahme sind daher regelmäßige Sicherungen. Die Sicherungen sollten mehrere Generationen umfassen, weil manche Fehler erst nach einigen Tagen entdeckt werden.
Sie sollten die jeweils neusten Versionen der Service-Packs einspielen (Download von der Microsoft-Site)
Stellen
Sie sicher, dass Ihr Netzwerk in Ordnung ist.
Bedenken Sie, dass Access das Netzwerk deutlich mehr belastet, als andere
Anwendungen. Access reagiert daher unserer Erfahrung nach fast wie ein
Indikator auf kleinste Netzwerkstörungen. Word, Excel und andere Programme
laufen meist noch reibungslos. Siehe auch unter Ursachensuche.
Um die Wahrscheinlichkeit von Beschädigungen zu vermeiden, empfiehlt es sich, die Anwendung aufzuspalten in eine Datendatei, die nur die Tabellen enthält und eine Programmdatei, die die Formulare, Berichte, Module, etc. enthält. Die Tabellen der Datendatei müssen in die Programmdatei eingebunden werden. Lassen die Datendatei auf dem Server und legen Sie die Programmdatei auf die Clients.
Grundsätzlich sollten Sie, falls Ihnen sowohl Win95/Win98/WinME-Rechner als auch WinNT oder Win2000 - Rechner zur Verfügung stehen, die Datenbank auf die WinNT/Win2000-Rechner legen und nicht auf die Win95/Win97/WinME-Rechner. Dies ist eine Empfehlung von Microsoft. Die Zusammenhänge scheinen noch nicht ganz geklärt zu sein.
Vermeiden Sie, Access über WAN-Verbindungen zu benutzen. Diese Verbindungen sind zu fehlerträchtig und die Wahrscheinlichkeit einer Beschädigung der Access-Datenbanken zu hoch.
Haben Sie gehäuft Beschädigungen an Access-Datenbanken und liegt die Datei auf einem Windows NT oder Windows 2000 - Server, so empfiehlt es sich zunächst das Opportunistic Locking des Betriebssystems auszuschalten.
Schauen Sie sich vielleicht hierzu auch den Artikel von Microsoft an: How to Minimize Database Corruption When Using Microsoft Jet 4.0.
Wenn Sie mit Access unternehmenskritische Geschäftsabläufe bearbeiten, dann sollten Sie folgendes bedenken: Sie müssen in der Lage sein, diejenigen Geschäftsvorgänge zu rekonstruieren, die zwischen der letzten Datensicherung und dem Absturzzeitpunkt bearbeitet worden sind.
Ein Beispiel: Heute um 13:00 Uhr ist Ihre Datenbank abgestürzt, Sie haben jedoch von gestern Abend 18:00 Uhr eine funktionierende Datensicherung. Seit heute morgen 8:00 Uhr hatten Ihre Mitarbeiter(innen) eifrig kreuz und quer in Ihrer Datenbank Änderungen und Neueintragungen vorgenommen.
Sie können zwar die Datensicherung wiedereinspielen, doch müssen Sie auch irgendwie die am Vormittag gebuchten Änderungen und Neueintragungen nachführen!
Unserer Erfahrung nach können Sie dieses Problem im Vorfeld nur auf zwei Arten lösen:
Organisatorisch: indem Sie die Buchungs-Unterlagen eines Tages zunächst einer speziellen Ablage zuführen.
Sind Sie nicht in der Lage, dieses Problem organisatorisch zu lösen, so müssen Sie auf MS-Access als Backend verzichten. Access ist prinzipiell nicht gegen irreparable Beschädigungen gefeit (genauso wenig wie andere dateibasierte Datenbanken wie FoxPro, Paradox, dBase etc.). Hier würde sich der Umstieg auf Client-Server-Technik anbieten (MS-SQL-Server, Informix, Oracle, Sybase etc.) Bei diesen SQL-Server-Datenbanken werden bei jeder Änderung sogenannte Logfiles mitgeschrieben, die es ermöglichen, die Datenbank bei einer Beschädigung meist vollständig wiederherzustellen.
Da unsere Sammlung inzwischen doch etwas angewachsen ist, haben wir sie der Übersichtlichkeit halber aufgeteilt.
- Fehler beim Öffnen der Datenbank
- Fehler beim Zugriff auf eine Tabelle
Fehler beim Öffnen der Datenbank
Symptome | Version | Lösung | weitere Infos |
Beim Öffnen erscheint die Fehlermeldung: „Nicht erkennbares Datenbankformat: <Datenbankname>“, Fehlernummer 3343. Access meldet, dass die Reparatur nicht erfolgreich durchgeführt werden konnte. | Alle | Meist keine Reparatur durch den Benutzer mehr möglich. Eventuell Reparatur mit der neusten JetComp.exe versuchen (ab A95). Falls das nichts hilft, kann unser Datenrettungsdienst die Datei jedoch meist wieder herstellen. | Knowledge Base Q182867 |
Beim Reparieren der Datenbank erscheint die Fehlermeldung: „<Datenbank> ist kein Index in dieser Tabelle“, Fehlernummer 3015. Diese Fehlermeldung erscheint auch, wenn eine Access-95-Datenbank in das Access-97-Format konvertiert wurde. | A97 | Ein Index der Systemtabelle MSysObjects ist beschädigt. Datenbank mit dem stand-alone Utility JetComp.exe komprimieren oder neue leere Datenbank herstellen und alle Objekte in diese Datenbank importieren. Um den Fehler für die Zukunft auszuschließen, ist ein Update der Jet-Version auf 3.51 nötig. | Knowledge Base Q158933 und Q182867 |
Beim Reparieren der Datenbank erscheint die Fehlermeldung: „AOIndex ist kein Index in dieser Tabelle“. | A2000 und A2002 | Der Index einer Systemtabelle ist beschädigt. Manchmal hilft JetComp.exe. | Eigene Untersuchungen |
Der Dialog zur Eingabe des Datenbankpasswortes erscheint, obwohl kein Passwort eingetragen war. Egal was Sie eingeben, ein Öffnen der Datenbank ist nicht möglich. Reparieren und Komprimieren bringt keine Verbesserung. | Alle | Eventuell wurde die Datenbank mit einem anderen Programm (z.B. Word) geöffnet und gespeichert. Danach ist die Datenbank nicht mehr durch uns reparabel. Dieses Symptom zeigt sich jedoch auch, wenn nur der Database-Header beschädigt ist. Dann ist eine Reparatur durch uns sehr wohl möglich! | Knowledge Base Q243895 |
Beim Öffnen der Datenbank oder beim Öffnen von beschädigten Modulen erhalten Sie folgende Fehlermeldung: „Unerwarteter Fehler 35012“. | A2000 | Ein oder mehrere Objekte (meistens Formulare oder Module) der Datenbank sind beschädigt. Stellen Sie eine leere Datenbank her und importieren Sie alle Objekte in diese Datenbank. | Knowledge
Base D44379 |
Sie
versuchen die Datenbankdatei zu öffnen, es erscheint keine Fehlermeldung,
aber auch kein Datenbankcontainer. Vorausgesetzt, dies ist nicht auf Ihre eigene Absicherung der Datenbank zurückzuführen, kann dies auch ein Hinweis auf Beschädigungen sein. |
Alle | Erst die üblichen Maßnahmen versuchen: JetComp.exe, Importieren in eine neue Datenbank. Aufwendig aber mit guten Erfolgaussichten: von einer neuen Datenbankdatei aus per VBA (Opendatabase- und Openrecordset- Methode) auf die defekte Datei zuzugreifen. | Eigene Untersuchungen |
Sie erhalten beim Öffnen einer MDB-Datei die Fehlermeldung, dass eine Allgemeine Schutzverletzung aufgetreten ist (GPF, General Protection Fault). Access wird sofort beendet. | Alle | Wenn
dies bei mehreren MDB-Dateien auftritt, dürfte es sich um ein Access
Installationsproblem handeln, nicht um beschädigte MDB-Dateien. Sollte nur eine einzige MDB-Datei diesen Fehler zeigen, so können Sie die Reparatur mit JetComp.exe, das Importieren in eine neue Datenbank oder den weiter oben beschriebenene Befehl /Decompile versuchen. Falls alles nichts hilft: solche Dateien sind durch uns meist gut auszulesen. |
Eigene Untersuchungen |
Fehler beim Zugriff auf eine Tabelle
Symptome | Version | Lösung | weitere Infos |
Beim Versuch eine Tabelle zu öffnen kommt die Fehlermeldung "Dieses Objekt benötigt eine neuere Version des Microsoft Jet-Datenbankmoduls" | A2000 und andere? | Tabellenstrukturinformationen defekt. In der Regel schlägt die access-eigene Reparatur fehl. | Eigene Untersuchungen |
Eine Tabelle kann innerhalb von Access nicht mehr geöffnet werden (Eigenschaften der Tabelle fehlen). | Alle | Sicherheitskopie herstellen. Versuchen, ob die Tabelle sich noch über DAO.Openrecordset ansprechen lässt. | JetComp Readme-File |
Die Fehlermeldung „Kein zulässiges Lesezeichen“ erscheint beim VBA-Zugriff auf Tabellen. Sieht man sich die Tabellen an, so haben einige Felder/Zeilen den Wert „#########“ und es erscheint ebenfalls diese Fehlermeldung u.U. mehrfach. |
Alle |
Allgemein
deutet diese Fehlermeldung auf beschädigte Datensätze hin. Ursache
kann z.B. ein extrem fehlerträchtiges Netzwerk sein. Vorsicht! Nicht
weiter auf dem Netzwerk arbeiten, die Datenbank ist extrem gefährdet
oder eventuell bereits beschädigt! |
Eigene Untersuchungen |
Während der Arbeit mit Access erhalten Sie die Fehlermeldung: „Das Microsoft Jet-Datenbankmodul hat den Vorgang angehalten, da Sie und ein weiterer Benutzer gleichzeitig versuchen, dieselben Daten zu verändern.“, Fehlernummer 3197. Oder Sie sehen in einigen Feldern „######“, beim Zugriff darauf erhalten Sie die Fehlermeldung „Ungültiges Argument“. Nach dem Reparieren steht in diesen Feldern „################“. |
A95, A97 |
Ursache: ein gespeicherter Zeiger auf eine LV-Page ist beschädigt. Sicherungskopie erstellen. Reparieren und Komprimieren mit JetComp.exe. Falls das nichts hilft, alle Objekte in eine neue Datenbank kopieren. Hinweis: Bei diesen Vorgehensweisen werden Sie die Inhalte der beschädigten OLE- oder Memo-Felder mit Sicherheit verlieren. |
Knowledge Base Q182867 |
Nach dem Reparieren ist ein Autowert-Feld plötzlich nur noch ein normales long int Feld. | Alle (?) | Access scheint die Autowert-Eigenschaft eines Feldes zu entfernen, wenn beim Reparieren Datenprobleme in diesem Feld auftreten. Untersuchen Sie Ihre Daten auf Duplikate in diesem Feld, und bereinigen Sie die Daten. Das Wiederherstellen der Autowert-Eigenschaft des Feldes ist nicht so ohne weiteres möglich. Insbesondere wenn Referentielle Integrität über dieses Feld eingestellt ist, müssen Sie tricksen. | |
Nach dem Reparieren und Komprimieren treten plötzlich doppelte Autowerte auf | A97, A2000 und A2002 | Ab A2000: Update auf Jet 4.0 SP 7 |
Knowledge Base Q257408
(A2000) und Q291162 (A2002) |
Symptome | Version | Lösung | weitere Infos |
Sie haben versehentlich eine Tabelle gelöscht, haben jedoch noch keine weitere Aktion in der noch offenen Datenbank durchgeführt. | Alle | Benutzen Sie den Befehl „Rückgängig“ (Strg-Z) | Access Online-Hilfe |
Sie haben versehentlich eine Tabelle gelöscht, die Datenbank ist noch offen, Sie haben jedoch bereits eine weitere Aktion durchgeführt. | Alle |
Verfahren Sie wie in
den nebenstehenden Knowledge-Base-Artikeln beschrieben. |
Knowledge
Base |
Sie haben versehentlich eine große Zahl Datensätze aus einer Tabelle gelöscht. Die Datenbank wurde von Ihnen noch nicht komprimiert. | Alle |
Es gibt zwei Löschmodi: der eine "markiert"
die Datensätze als gelöscht, beläßt sie aber in der Datenbank.
Hier sind 100% der Datensätze wiederherstellbar (sofern noch nicht mit
neu eingegebenen Datensätze überschrieben oder die Datenbank
komprimiert wurde). Dieser Löschmodus kommt in der letzten Zeit sehr
häufig vor. Der andere Löschmodus überschreibt die Datensätze innerhalb einer Speichereinheit von 4 kByte (2 kByte vor Access 2000) mit dem zuoberst stehenden Datensatz. Daher ist nur ein Teil der gelöschten Datensätze von uns wiederherstellbar. Sind die Datensätze sehr klein, so ist dieser Anteil ebenfalls sehr klein. Sind die Datensätze so groß, dass Access sie jeweils in eine eigene Speichereinheit stecken musste, so können wir auch hier annähernd alle Datensätze wiederherstellen. |
Eigene Untersuchungen |
Sie haben beim Import oder über die Zwischenablage versehentlich eine bestehende Tabelle überschrieben (dies meint nicht einzelne Datensätze, sondern die Tabelle als solche). | Alle | Unser Datenrettungsdienst kann Ihnen helfen. | Eigene Untersuchungen |
Sie haben versehentlich im Tabellenentwurf ein Tabellenfeld gelöscht, jedoch noch keine weiteren Aktionen durchgeführt. | Alle | Unser Datenrettungsdienst kann Ihnen helfen. | Eigene Untersuchungen |
Symptome | Version | Lösung | weitere Infos |
häufige Abstürze unter Win2000 oder Windows NT 4.0 | A2000
+ A97 vermutlich auch A2002 |
in einigen Fällen scheint das Ausschalten des "opportunistic Locking" zu helfen, siehe nebenstehender Knowledge-Base-Artikel | Knowledge Base Q300216 |
Vorsicht
sollten Sie bei diesen Symptomen walten lassen, sie deuten auf eine
beschädigte Datei hin, die demnächst irreparabel wird: - Tabellen können von Ihnen nicht mehr gelöscht werden, obwohl Sie die Berechtigungen dazu haben. – Doppelte Tabellennamen erscheinen in der Datenbank. – Es tauchen Tabellen auf, deren Besitzer <unknown> oder Engine ist |
Alle | Sicherheitskopie
herstellen. Datenbank reparieren. Neue leere Datenbank herstellen und
alle Objekte in diese Datenbank importieren. Bei A97 zusätzlich Update der Jet-Version auf 3.51 durchführen, um zu verhindern, dass die Fehler wieder auftreten (verbesserte Komprimierungs-Routine). |
Knowledge Base Q158933 |
Große Abfragen oder Operationen auf OLE- oder Memo-Felder laufen sehr langsam. Die Jet-Version 3.0 stürzt bei Verwendung mit dem Internet-Information-Server ab. | A95, A97 nur unter NT 4.0 | Update der Jet-Version auf 3.51 | Knowledge Base Q143163 |
Beim Öffnen der Datenbank oder beim Öffnen von beschädigten Modulen erhalten Sie folgende Fehlermeldung: „Unerwarteter Fehler 35012“. | A2000 | Ein oder mehrere Objekte (meistens Formulare oder Module) der Datenbank sind beschädigt. Stellen Sie eine leere Datenbank her und importieren Sie alle Objekte in diese Datenbank. | Knowledge
Base D44379 |
Beim Öffnen oder Kompilieren eines Modules: "Fehler beim Zugriff auf die Datei: möglicherweise Netzwerkverbindung unterbrochen" (oder so ähnlich) | A2000 | Diese Fehlermeldung erscheint, wenn Sie neben Access 2000 auch noch eine bestimmte Version der Vbe6.dll installiert haben und Module oder Formulare mit Modulen importiert oder über die Zwischenablage in die Datenbank kopiert haben ohne sofort anschließend zu kompilieren. | Knowledge Base Q304548 |
Unspezifische Meldungen, die auf ein beschädigtes Modul (bzw. beschädigten P-Code) hinweisen. | Alle | Versuchen Sie den undokumentierten Befehlszeilenschalter /Decompile. Vorher unbedingt Sicherungskopie ziehen, hinterher ausgiebig testen! | |
Die Datenbank-Datei bläht sich stark auf, etwa Verdopplung bis Verdreifachung. | A2000 | Access belegt unter bestimmten Umständen pro Datensatz fehlerhafterweise eine komplette Page von 4 kByte. Dieses abnorme Verhalten verschwindet nach einem Reparaturlauf. Hinweis: Es gibt jedoch noch weitere Gründe, warum sich eine Datenbank aufblähen kann. | Eigene Untersuchungen |
Die Datenbank-Datei wird bei einer Operation von Access immer größer und größer, bis der Festplattenplatz nicht mehr ausreicht. Access bricht dann die Aktion mit einer Fehlermeldung ab. Die Datenbank-Datei ist am Ende größer, als Access eigentlich verwalten kann, also größer 1 GB bei Access bis Version 97 und größer 2 GB ab Access-Version 2000. | Alle |
Ursache noch unbekannt, Access scheint beim
Beschreiben der Datei irgendwo in eine Endlosschleife zu geraten,
vielleicht durch Fehler in den Datenverwaltungsstrukturen bedingt. Reparatur ist möglich. |
Eigene Untersuchungen |
Manchmal sind die Ursachen offensichtlich, z.B. ein Rechnerabsturz oder
eine versehentlich mit Word oder einem anderen Programm geöffnete und
gespeicherte MDB-Datei. Daher befragen Sie als erstes die aktuellen
Benutzer der Datenbank nach irgendwelchen Auffälligkeiten.
In allen anderen Fällen gilt es zunächst, den oder die
Arbeitsstationen, die an dem Absturz beteiligt sein könnten,
einzugrenzen. Für alle Access-Versionen bis einschließlich Access 97
stellt Microsoft im Internet ein Werkzeug namens LDBView.exe
zur Verfügung. Hiermit
können Sie feststellen, welche Arbeitsstationen die Datenbank in einem
"suspekten" Status zurückgelassen haben, das meint nicht
abgeschlossene Schreiboperationen. Unbedingte
Voraussetzung ist jedoch, dass die *.ldb-Datei noch im Zustand der
frischen Beschädigung existiert! Daher fertigen Sie bei einer
Beschädigung als erstes eine Sicherung der MDB- und der LDB-Datei
an! Eine vergleichbare (vorsorgliche) Maßnahme wäre, das
Einloggen und Verlassen der Datenbank selbst in einer Logdatei für jeden User
mitzuprotokollieren. Schauen Sie mal nach Jet
UserRoster auf den Microsoft Seiten.
Kommen Sie auf diesem Wege nicht weiter, so können Sie Ihr Netzwerk mit
einem sog. Netzwerksniffer (z.T. kostenfrei im Internet erhältlich,
erfordert meist fundierte Kenntnisse) oder einem Hardware-Netzwerk-Analyser
(>2500 Euro, noch komplizierter) untersuchen.
Steht Ihnen kein Netzwerksniffer zur Verfügung,
so hat es sich als einfache Methode erwiesen, eine möglichst große
Datei (>50MB) mehrfach (> 10 mal) mit dem Explorer von jeder
Arbeitsstation aus durch das Netz zu
kopieren. Wenn dabei auch nur einmal eine Fehlermeldung auftritt, die auf
Netzwerk oder Festplattenprobleme hinweist (natürlich nicht die Meldung:
Festplatte voll), so haben Sie vermutlich eine Arbeitsstation mit defekter Hardware
gefunden. Wir haben bereits mehrfach defekte Netzwerkkarten (auch
hochwertige Markenware!) als
Übeltäter überführen können.
Wenn Sie sich zutrauen, ein DOS-Kommando in der DOS-Box abzusetzen, so
steht Ihnen noch die Möglichkeit zur Verfügung mit
dem Befehl Ping die Erreichbarkeit anderer Rechner im Netzwerk zu testen. Ein
einzelnes funktionierendes Ping bedeutet natürlich nicht, dass das Netzwerk
absolut in Ordnung ist. Mit etwas Glück können Sie jedoch mit einem Dauerping
sporadisch auftretende Netzwerkfehler finden. Geben Sie den Befehl
ping
-t 192.168.1.15 > c:\ping.txt
ein. Dies veranlasst das Programm ping fortlaufend Pakete an den Rechner mit der
Adresse 192.168.1.15 zu senden und leitet gleichzeitig die Ausgabe des
Programmes in die Datei c:\ping.txt um. Das Ping können Sie
abends starten und morgens mit Strg-C abbrechen. Anschließend
untersuchen Sie die Ausgabedatei auf Fehlermeldungen.
Die Adresse des Rechners müssen Sie natürlich Ihren Gegebenheiten
anpassen.
Atroplan GmbH Über den Beekhöfen 4 37079 Göttingen, Germany Geschäftsführer: Thilo Immel HR B 3114, Amtsgericht Göttingen Umsatzsteuer-ID: DE203308681 |
Tel: 0551 / 632804 Fax: 0551 / 63660 Handy: 0170 / 8008742 Ihr Ansprechpartner: Herr Immel |
Wenn Sie nicht aus Deutschland anrufen:
Tel: 0049 551 632804 Fax: 0049 551 63660 Handy: 0049 170 8008742
|