Extensible Storage Engine-Dateien

Letzte Änderung: Freitag, 27. Februar 2015

Gilt für: Windows | Windows Server

Extensible Storage Engine-Dateien

Extensible Storage Engine verwendet die folgenden Typen von Dateien:

Die folgende Tabelle enthält eine Übersicht über die Dateinamen Daten, die von ESE verwaltet werden. Für Windows Vista und höher Auswirkungen auf die Einstellung JET_paramLegacyNames die Dateinamen, die verwendet werden.



JET_paramLegacyNames-Einstellung

WindowsServer 2003 und früheren Versionen

N/A

Windows Vista und höher

None

Windows Vista und höher

JET_bitESE98FileNames

Aktuelles Protokoll

<inst>.log

<inst>.jtx

<inst>.log

Melden Sie sich vor der Initialisierung

<inst>tmp.log

<inst>tmp.jtx

<inst>tmp.log

Gedrehter Protokolle

<inst>XXXXX.log

< inst > XXXXX.jtx nach FFFFF Schalter, mit dem < inst > XXXXXXXX.jtx

Wechseln Sie zum < inst > XXXXXXXX.log < inst > XXXXX.log nach FFFFF.

Prüfpunktdateien

<inst>.chk

<inst>.jcp

<inst>.jcp

Temporäre Datenbanken

< Dateiname temp Db > Default: tmp.edb

< Dateiname temp Db > Default: tmp.edb

< Dateiname temp Db > Default: tmp.edb

Reservierte Transaktionsprotokolldateien

Res1.log und res2.log

<inst>RESXXXXX.jrs

<inst>RESXXXXX.jrs

Datenbankdateien

< Dateiname Db >

< Dateiname Db >

< Dateiname Db >

Transaktionsprotokolldateien

Transaktionsprotokolldateien enthalten Vorgänge für Datenbankdateien. Sie enthalten genügend Informationen, um eine Datenbank in einem logisch konsistenten Status nach einem unerwarteten Prozess Kündigung oder System Herunterfahren zu bringen.

Die Namen der Protokolldateien hängen Basisnamen drei Buchstaben, die mit JET_paramBaseNamefestgelegt werden kann. Die unten stehenden Beispiele verwenden Basisnamen "Edb", da dies den Basisnamen Standard ist. Die Erweiterung für die Transaktionsprotokolldateien werden log oder .jtx, je nachdem, ob die JET_bitESE98FileNames im JET_paramLegacyFileNames-Parameter festgelegt ist. Weitere Informationen finden Sie unter Extensible Storage Engine System-Parameter.

Transaktionsprotokolldateien heißen < Base >< Nummer Protokollgenerierung > .log, beginnend mit 1. Der Protokollgenerierungsnummer ist im Hexadezimal-Format dar. Beispielsweise "Edb00001.log" wird das erste Protokoll und edb000ff.log 255. Protokoll ist. Die Protokolldateien haben fünf Hexadezimalzahlen in Name der Protokolldatei, bis die 1048576th Protokolldatei, an welchem, die Punkt die Protokolldateien starten wird mit dem Namen in einem 11.3 Format (beispielsweise edb00100000.log). < Base > .log ist immer die Protokolldatei, die derzeit verwendet wird. Wenn die Datenbank-Engine nicht aktiv ist, die Generierung von edb.log identifiziert werden kann mithilfe des folgenden Befehls: esentutl.exe -ml edb.log.

Obwohl die Transaktionsprotokolldateien haben die.Melden Sie sich Erweiterung häufig zugeordnet Textdateien, Transaktionsprotokoll Dateien werden im Binärformat und sollte niemals von einem Benutzer bearbeitet werden.Datenbank-Vorgänge werden zunächst in das Protokoll geschrieben. Die Daten können später auf die Datenbank geschrieben werden. möglicherweise sofort potenziell viel später. Im Fall von unerwarteten Prozess oder System-Beendigung die Vorgänge in den Protokolldateien noch vorhanden sind, und unvollständige Transaktionen rückgängig gemacht werden können. Das Act von wiedergeben Transaktionsprotokolldateien aufgerufen, Wiederherstellung, und es erfolgt automatisch JetInit oder JetInit2 aufgerufen wird. Wiederherstellung kann auch manuell erfolgen mit der "-R" Option des Programms Esentutl.exe. Der Vorgang der Wiedergabe von Transaktionsprotokolldateien auf eine Datenbank, die aus einer Sicherung wiederhergestellt wird ist hard Recoverybezeichnet.

Protokolldateien sind eine feste Größe, anpassbare mit JET_paramLogFileSize. Wenn die aktuelle Protokolldatei (d. h., edb.log) ausgefüllt Ruft ab, es ruft Base < Nummer Protokollgenerierung > .log >< umbenannt, und eine neue Transaktionsprotokolldatei ist erforderlich, in der Transaktionsprotokoll-Datenstrom.

Jede Datenbankinstanz verfügt über eine einzige Anmeldung Datei Sequenz zugeordnet. Windows XP eingeführt JetCreateInstance, sodass mehrere Transaktionsprotokoll Datei Sequenzen von einem einzelnen Prozess verwendet werden. Mehrere Transaktion Log File Sequenzen können nicht im gleichen Verzeichnis befindet, jedoch vorhanden sein.

Transaktionsprotokolldateien sollten fast nie werden manuell bearbeitet, umbenannt, verschoben oder gelöscht, da das beschädigte Daten zur Folge haben kann.

Werden von der Datenbank-Engine Transaktionsprotokolldateien gelöscht werden, während einer vollständigen Sicherung (siehe JetBackup, JetTruncateLog, JetTruncateLogInstance), oder während des normalen Betriebs, wenn die Umlaufprotokollierung aktiviert ist.

Nachdem eine Transaktionsprotokolldatei aufgefüllt wird, muss die Datenbank-Engine eine neue Protokolldatei zu erstellen. Umlaufprotokollierung ist eine Möglichkeit, die von dem Protokolldateien Dateien automatisch von der Datenbank-Engine bereinigt werden können, wenn sie nicht mehr für die Notfallwiederherstellung erforderlich sind. Dieser Prozess ist eine Alternative zum Entfernen von Protokolldateien als Teilergebnis der Sicherungen. Umlaufprotokollierung kann mit dem Parameter JET_paramCircularLog System gesteuert werden. Transaktionsprotokolldateien sollten nicht mit einer anderen Methode gelöscht werden.

Temporäre Transaktionsprotokolldateien

Wenn edb.log voll ist, muss ESE eine neue Datei erstellen. Die neue Protokolldatei Transaktion wird als eine temporäre Transaktionsprotokolldatei vor der Verwendung von ESE bezeichnet.

Während eine neue Protokolldatei erstellt wird und seine Größe erweitert, < Base > tmp.log aufgerufen wird. Erstellen einer neuen Datei kann einen potenziell teuerste-Vorgang sein ESE proaktiv als Hintergrundaufgabe die nächste Protokolldatei erstellt wird.

Da die temporären Transaktionsprotokolldatei Supportteams muss bereits vor der Notwendigkeit für eine neue Transaktionsprotokolldatei erstellt wird, enthält es keine nützliche Informationen.

Reservierte Transaktionsprotokolldateien

Die reservierten Transaktionsprotokolldateien werden erstellt, wenn das Modul beginnt um wichtige Vorgänge angemeldet sein, um ein ordnungsgemäßes Herunterfahren erhalten zu erlauben.

**Windows Vista:**In Windows Vista und höher sind die reservierten Transaktionsprotokolldateien < Base > benannte RESXXXXX.jrs.

**WindowsServer 2003:**In Windows Server 2003 und früheren Versionen werden die reservierten Transaktionsprotokolldateien res1.log und res2.log benannt.

Wenn das Datenbankmodul ausgeführt, nicht genügend Speicherplatz wird kann nicht sie eine neue Protokolldatei zu erstellen. Die sicherste ist heruntergefahren, jedoch müssen noch einige Vorgänge (z. B. Rollbackvorgänge) angemeldet sein. Die meisten Datenbankvorgänge schlägt fehl, während dieser Phase.

Da die reservierten Transaktionsprotokolldateien Supportteams muss bereits vor der Notwendigkeit Transaktionsprotokolldateien in einem Szenario ausgehend von auf Datenträger erstellt werden, sie keine nützliche Informationen enthalten.

Prüfpunktdateien

Die Prüfpunktdatei speichert des Prüfpunkts für einen bestimmten Transaktion Protokolldatei-Reihenfolge. Die Prüfpunktdatei heißt < Base > chk oder < Base > .jcp, je nachdem, ob die JET_bitESE98FileNames in der JET_paramLegacyFileNames-Parameter und der Speicherort festgelegt ist, wird durch JET_paramSystemPathzugewiesen.

Datenbankvorgänge werden zunächst in die Protokolldateien geschrieben, und klicken Sie dann im Arbeitsspeicher zwischengespeichert. Zu einem späteren Zeitpunkt die Vorgänge auf die Datenbank geschrieben, jedoch aus Gründen der Systemleistung die Reihenfolge, in der Vorgänge auf die Datenbank geschrieben werden, stimmen möglicherweise nicht mit der Reihenfolge, in der sie ursprünglich protokolliert wurden. Vorgänge, die in die Transaktionsprotokolldatei geschrieben werden in zwei Zuständen:

  • In die Transaktionsprotokolldatei und der Datenbankdatei geschrieben.

  • In die Transaktionsprotokolldatei und noch nicht auf die Datenbank geschrieben.

Viele Datenbankvorgänge können in einer einzigen Transaktionsprotokolldatei gespeichert werden. Eine bestimmten Protokolldatei kann aus folgenden Elementen bestehen:

  • Alle Vorgänge, die auf die Datenbank geschrieben werden.

  • Keine Vorgänge in der Datenbankdatei geschrieben

  • Eine Mischung aus auf die Datenbank geschrieben und von Vorgängen, die noch nicht in die Datenbankdatei geschrieben.

Des Prüfpunkts bezieht sich auf den Punkt in der Zeit in der Transaktionsprotokoll-Datenstrom, in dem alle Vorgänge vor dem Prüfpunkt an die Datenbank geschrieben wurden. Es gibt keine Garantie für die Vorgänge, die nach dem Checkpoint auftreten. Einige möglicherweise im Arbeitsspeicher, und einige in die Datenbank geschrieben werden kann.

Da alle Vorgänge in die Protokolldateien vor dem Prüfpunkt in der Datenbankdatei dargestellt werden, werden nur die Transaktionsprotokolldateien nach dem Checkpoint für die Wiederherstellung zu eine bestimmte Datenbank in einen bereinigten Zustand bringen benötigt.

Datenbankdateien

Die Datenbankdatei enthält das Schema für alle Tabellen in der Datenbank, die Datensätze für alle Tabellen in der Datenbank und der Indizes Tabellen. Erhält der Speicherort von JetCreateDatabase, JetCreateDatabase2, JetAttachDatabaseoder JetAttachDatabase2.

Eine Datenbank ist nur nach einem erfolgreichen Aufruf von JetTerm ist oder JetTerm2ordnungsgemäß heruntergefahren.

Das Programm Esentutl.exe kann erkennen, ob eine Datenbank mit ordnungsgemäß heruntergefahren wird die "-mh" Option. "Esentutl.exe -mh-Datei" Beispiel.edb "" wird beispielsweise die Datenbank-Kopfzeile einer Datenbank mit der Datei "Beispiel.edb" Lesen und drucken Sie den Status der Datei "Beispiel.edb". Sie können "Zustand: Clean Shutdown" oder "Zustand: Dirty Shutdown" Drucken.

Ein fehlerhaftes Herunterfahren Status ist eine Datenbank, die nicht ordnungsgemäß heruntergefahren wurde. Vor Windows XP wurde dieser Zustand inkonsistenteaufgerufen. Eine dirty (inkonsistente) Datenbank kann Datenbankkonsistenz mit Wiederherstellung verfügbar gemacht werden. Eine beschädigte Datenbank ist nicht identisch mit einer dirty ("inkonsistente")-Datenbank.

Eine beschädigte Datenbank bezieht sich auf einer physischen oder logischen Beschädigung und nicht mit Wiederherstellung behoben werden. Physische Beschädigungen können es sich um Bit spiegelt sein, die häufig von der Prüfsumme auf den Datenbankseiten abgefangen wird. Eine fehlerhafte Prüfsumme in einer Datei als JET_errReadVerifyFailure Fehler zu beobachten.

Nur ordnungsgemäß heruntergefahren wird Datenbanken kann problemlos verschoben oder umbenannt. Wenn eine Datenbank nicht ordnungsgemäß heruntergefahren war, kann nicht es automatisch sicher verschoben oder umbenannt werden.

Mehrere Datenbanken können eine Folge von einzelnen Transaktion Datei zugeordnet werden.

Temporäre Datenbanken

Die temporäre Datenbank dient als Sicherungsspeicher für Temptables, und er wird auch beim Erstellen von Indizes verwendet.

Den Namen und Speicherort ist mit JET_paramTempPathkonfiguriert.

Temptables werden mit JetOpenTempTable, JetOpenTempTable2, JetOpenTempTable3, JetOpenTemporaryTableerstellt. Sie sind auch einige API-Aufrufe erstellt und verwendet, um Schemainformationen (beispielsweise JetGetIndexInfo) zurückzugeben.