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