Freigeben über


JetOSSnapshotFreeze-Funktion

Letzte Änderung: Freitag, 27. Februar 2015

Gilt für: Windows | Windows Server

JetOSSnapshotFreeze-Funktion

Die Funktion JetOSSnapshotFreeze startet einen Snapshot. Während der Momentaufnahme ausgeführt wird, kann keine Datenträger Schreibzugriff Aktivität vom Modul stattfinden.

Windows XP:  JetOSSnapshotFreeze wird in Windows XP eingeführt.

JET_ERR JET_API JetOSSnapshotFreeze(
  __in          const JET_OSSNAPID snapId,
  __out         unsigned long* pcInstanceInfo,
  __out         JET_INSTANCE_INFO** paInstanceInfo,
  __in          const JET_GRBIT grbit
);

Parameter

snapId

Der Bezeichner der Momentaufnahme Sitzung.

pcInstanceInfo

Die Anzahl der derzeit in das Modul ausgeführten Instanzen, die Teil der Sitzung Snapshot sind.

paInstanceInfo

Ein Array von Strukturen, eine für jede ausgeführte Instanz, die Teil der Sitzung Snapshot ist, beschreibt die Instanz und die Datenbanken, die Teil davon sind.

JET_errInvalidGrbit

Die Optionen für dieses Anrufs. Dieser Parameter ist für die zukünftige Verwendung reserviert und unterstützte nur gültiger Wert ist 0.

Return Value

Diese Funktion gibt den Datentyp JET_ERR mit einem der folgenden Rückgabecodes. Weitere Informationen zu den möglichen ESE-Fehlern finden Sie unter Extensible Storage Engine-Fehlern und Fehler behandeln von Parametern.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

JET_errInvalidParameter

Der Zeiger vorgesehenen Output-Parameter sind NULL, Snapshot-Sitzung ist ungültig oder der Parameter JET_errInvalidGrbit ist ungültig.

JET_errOSSnapshotInvalidSequence

Snapshot-Sitzung ist nicht in den entsprechenden Status einer Einfrieren (beispielsweise eine dieser Sitzung vor Fehler beim vorherigen Einfrieren) zu starten.

JET_errOSSnapshotNotAllowed

Das Modul ist nicht in einem Zustand, in dem eine Momentaufnahme ausgeführt werden kann. Eine oder mehrere streaming Sicherungen wird bereits ausgeführt, oder eine oder mehrere Instanzen Wiederherstellungsschritte durchgehen oder beendet werden.

JET_errOSSnapshotInvalidSnapId

Der Bezeichner für die Sitzung Snapshot ist ungültig.

JET_errOutOfMemory

Die Funktion konnte aufgrund einer Bedingung unzureichendem Speicherplatz.

JET_errOutOfThreads

Die Funktion konnte, da ein neuer Thread wie folgt dem Einfrieren konnte nicht gestartet werden.

Wenn diese Funktion erfolgreich ist, werden es keine Schreibvorgänge IOs ausgestellt für die Datenbankdateien oder die Protokolldateien, die Teil der Instanzen sind, die fixiert sind. Darüber hinaus die Informationen zu der Instanz wird ordnungsgemäß gefüllt, und er muss durch Aufrufen von JetFreeBuffer mit den Zeiger auf das zurückgegebene wurde Instanz Info Array später freigegeben werden.

Wenn diese Funktion fehlschlägt, werden das Modul normalerweise mit der IOs weiterhin ausgeführt wie gewohnt auftritt. Es besteht keine Notwendigkeit JetOSSnapshotThaw aufrufen, wenn die Einfrieren ein Fehler auftritt. Darüber hinaus werden die Informationen zu der Instanz nicht ausgefüllt werden, damit keine Notwendigkeit besteht, diese Ressource freizugeben.

Anmerkungen

Während des Berichtszeitraums Einfrieren werden vorhanden keine schreiben, IOs, zu der angefügten Datenbanken oder die Transaktion ULS-Protokolle ausgegeben, obwohl es möglicherweise IOs ausgestellt für die temporäre Datenbanken oder streaming-Dateien zu schreiben.

Der Zustand, in dem die Datenbanken und Protokolldateien während der Einfrieren werden (der Status, in dem die Dateien in einer Momentaufnahme des Volumes Bild wäre) werden so, dass eine normale Wiederherstellung ist möglich, wenn diese Dateien später wiederhergestellt werden.

Da es keine Schreibvorgänge während des Berichtszeitraums Einfrieren sind, möglicherweise normalen API-Aufrufe in das Modul für dieses Intervall angehalten. Die Clientanwendung muss möglicherweise API-Aufrufe zu behandeln, die mehr dann Normal dauern kann, wenn ein Einfrieren auftritt.

Aufgrund der möglichen Auswirkungen oben beschriebenen ist ein interner Timeout nach dem Snapshot-Sitzung die Einfrieren Phase beendet werden, auch wenn die wie folgt die Thaw oder Abbruch-APIs nicht aufgerufen wurden. Der Wert des Timeouts kann mit dem JET_paramOSSnapshotTimeout Systemparameter geändert werden. Beachten Sie, dass die typische Intervall fixieren befindet sich im Bereich von 10 Sekunden mit das Standardtimeout an Stelle etwa 60 Sekunden.

Voraussetzungen

-Client,

Erfordert Windows Vista oder Windows XP.

Server

Erfordert WindowsServer 2008 oder WindowsServer 2003.

Kopfzeile

In Esent.h deklariert.

Library

Verwenden Sie ESENT.lib.

DLL

Erfordert "ESENT.dll".

Unicode

Implementiert als JetOSSnapshotFreezeW (Unicode) und JetOSSnapshotFreezeA (ANSI).

Siehe auch

JET_ERR
JET_INSTANCE_INFO
JET_OSSNAPID
JetOSSnapshotAbort
JetOSSnapshotPrepare
JetOSSnapshotPrepareInstance
JetOSSnapshotThaw