Freigeben über


FileRecordSequence.WriteRestartArea Methode

Definition

Schreibt einen Neustartbereich in die FileRecordSequence.

Überlädt

WriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection)

Schreibt einen Neustartbereich in die FileRecordSequence. Diese Methode kann nicht vererbt werden.

WriteRestartArea(ArraySegment<Byte>)

Schreibt einen Neustartbereich in die FileRecordSequence. Diese Methode kann nicht vererbt werden.

WriteRestartArea(IList<ArraySegment<Byte>>)

Schreibt einen Neustartbereich in die FileRecordSequence. Diese Methode kann nicht vererbt werden.

WriteRestartArea(ArraySegment<Byte>, SequenceNumber)

Schreibt einen Neustartbereich in die FileRecordSequence. Diese Methode kann nicht vererbt werden.

WriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber)

Schreibt einen Neustartbereich in die FileRecordSequence. Diese Methode kann nicht vererbt werden.

WriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection)

Schreibt einen Neustartbereich in die FileRecordSequence. Diese Methode kann nicht vererbt werden.

Hinweise

Ein Neustartbereich kann verwendet werden, um Informationen, die die letzte Prüfpunktoperation eines Clients enthalten, vorübergehend zu speichern. Wenn eine Wiederherstellung erforderlich ist, können Sie einen Neustartbereich und alle Daten der letzten Prüfpunktoperation abrufen. Diese Daten initialisieren die Transaktionstabelle, die Tabelle mit den modifizierten Seiten ('Dirty Pages') und die Liste der geöffneten Dateien, damit diese im Wiederherstellungsprozess verwendet werden können.

Ein Neustartbereich kann mithilfe der ReadRestartAreas-Methode gelesen werden.

WriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection)

Schreibt einen Neustartbereich in die FileRecordSequence. Diese Methode kann nicht vererbt werden.

public:
 virtual System::IO::Log::SequenceNumber WriteRestartArea(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber newBaseSeqNum, System::IO::Log::ReservationCollection ^ reservations);
public System.IO.Log.SequenceNumber WriteRestartArea (ArraySegment<byte> data, System.IO.Log.SequenceNumber newBaseSeqNum, System.IO.Log.ReservationCollection reservations);
abstract member WriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection -> System.IO.Log.SequenceNumber
override this.WriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection -> System.IO.Log.SequenceNumber
Public Function WriteRestartArea (data As ArraySegment(Of Byte), newBaseSeqNum As SequenceNumber, reservations As ReservationCollection) As SequenceNumber

Parameter

data
ArraySegment<Byte>

Eine Liste von Bytearraysegmenten, die verkettet und als Datensatz angefügt werden.

newBaseSeqNum
SequenceNumber

Die neue Basissequenznummer. Die angegebene Sequenznummer muss größer oder gleich der aktuellen Basissequenznummer sein.

reservations
ReservationCollection

Eine ReservationCollection, die die Reservierung enthält, die für diesen Neustartbereich verwendet werden sollte.

Gibt zurück

Die Sequenznummer des geschriebenen Neustartbereichs.

Implementiert

Ausnahmen

Mindestens ein Argument ist null.

newBaseSeqNum befindet sich nicht zwischen der Basissequenznummer und der letzten Sequenznummer dieser Sequenz.

- oder -

Ein neues oder vorhandenes Archivende oder eine Basis des aktiven Protokolls ist ungültig.

reservations wurde nicht von dieser Datensatzsequenz erstellt.

- oder -

newBaseSeqNum ist für diese Sequenz nicht gültig.

Der Vorgang kann nicht ausgeführt werden, da die Datensatzsequenz mit schreibgeschütztem Zugriff geöffnet wurde.

Die Anforderung kann aufgrund einer unerwarteten E/A-Ausnahme nicht ausgeführt werden.

Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.

Der Arbeitsspeicher reicht nicht aus, um die Ausführung des Programms fortzusetzen.

Die Datensatzsequenz ist voll.

Keine Reservierung, die groß genug für data ist, kann in reservations gefunden werden.

Hinweise

Ein Neustartbereich kann verwendet werden, um Informationen, die die letzte Prüfpunktoperation eines Clients enthalten, vorübergehend zu speichern. Wenn eine Wiederherstellung erforderlich ist, können Sie einen Neustartbereich und alle Daten der letzten Prüfpunktoperation abrufen. Diese Daten initialisieren die Transaktionstabelle, die Tabelle mit den modifizierten Seiten ('Dirty Pages') und die Liste der geöffneten Dateien, damit diese im Wiederherstellungsprozess verwendet werden können.

Ein Neustartbereich kann mithilfe der ReadRestartAreas-Methode gelesen werden.

Wenn ein Neustartbereich geschrieben wird, werden die im Bytearraysegment enthaltenen Daten zum Anfügen als Datensatz in einem Array mit einem Byte verkettet. Die Daten können nicht wieder in Arraysegmente aufgeteilt werden, wenn der Neustartbereich gelesen wird.

Wenn eine Reservierung angegeben wird, nimmt der geschriebene Neustartbereich, der zuvor mithilfe einer in der Auflistung enthaltenen Reservierung reserviert wurde, Speicherplatz ein. Wenn diese Methode erfolgreich ist, wird die kleinstmögliche Reservierung verwendet, die die Daten aufnehmen kann. Diese Reservierung wird dann aus der Auflistung entfernt.

Wenn diese Methode erfolgreich abgeschlossen wird, wurde die Basissequenznummer aktualisiert. Auf alle Protokolldatensätze mit Sequenznummern, die kleiner als die neue Basissequenznummer sind, kann nicht zugegriffen werden.

Wenn eine Datensatzsequenz verworfen wurde oder wenn Sie ein ungültiges Argument weitergeben, werden unmittelbar während dieses Vorgangs Ausnahmen ausgelöst. Während einer asynchronen Anfügeanforderung auftretende Fehler, z. B. Fehler auf dem Datenträger während der E/A-Anforderung, lösen beim Aufruf der EndReserveAndAppend-Methode Ausnahmen aus.

Gilt für:

WriteRestartArea(ArraySegment<Byte>)

Schreibt einen Neustartbereich in die FileRecordSequence. Diese Methode kann nicht vererbt werden.

public:
 virtual System::IO::Log::SequenceNumber WriteRestartArea(ArraySegment<System::Byte> data);
public System.IO.Log.SequenceNumber WriteRestartArea (ArraySegment<byte> data);
abstract member WriteRestartArea : ArraySegment<byte> -> System.IO.Log.SequenceNumber
override this.WriteRestartArea : ArraySegment<byte> -> System.IO.Log.SequenceNumber
Public Function WriteRestartArea (data As ArraySegment(Of Byte)) As SequenceNumber

Parameter

data
ArraySegment<Byte>

Eine Liste von Bytearraysegmenten, die verkettet und als Datensatz angefügt werden.

Gibt zurück

Die Sequenznummer des geschriebenen Neustartbereichs.

Implementiert

Ausnahmen

Mindestens ein Argument ist null.

Der Vorgang kann nicht ausgeführt werden, da die Datensatzsequenz mit schreibgeschütztem Zugriff geöffnet wurde.

Die Anforderung kann aufgrund einer unerwarteten E/A-Ausnahme nicht ausgeführt werden.

Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.

Der Arbeitsspeicher reicht nicht aus, um die Ausführung des Programms fortzusetzen.

Die Datensatzsequenz ist voll.

Hinweise

Ein Neustartbereich kann verwendet werden, um Informationen, die die letzte Prüfpunktoperation eines Clients enthalten, vorübergehend zu speichern. Wenn eine Wiederherstellung erforderlich ist, können Sie einen Neustartbereich und alle Daten der letzten Prüfpunktoperation abrufen. Diese Daten initialisieren die Transaktionstabelle, die Tabelle mit den modifizierten Seiten ('Dirty Pages') und die Liste der geöffneten Dateien, damit diese im Wiederherstellungsprozess verwendet werden können.

Ein Neustartbereich kann mithilfe der ReadRestartAreas-Methode gelesen werden.

Die im Bytearraysegment enthaltenen Daten werden zum Anfügen als Datensatz in einem Array mit einem Byte verkettet. Die Daten können nicht wieder in Arraysegmente aufgeteilt werden, wenn der Neustartbereich gelesen wird.

Gilt für:

WriteRestartArea(IList<ArraySegment<Byte>>)

Schreibt einen Neustartbereich in die FileRecordSequence. Diese Methode kann nicht vererbt werden.

public:
 virtual System::IO::Log::SequenceNumber WriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data);
public System.IO.Log.SequenceNumber WriteRestartArea (System.Collections.Generic.IList<ArraySegment<byte>> data);
abstract member WriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> -> System.IO.Log.SequenceNumber
override this.WriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> -> System.IO.Log.SequenceNumber
Public Function WriteRestartArea (data As IList(Of ArraySegment(Of Byte))) As SequenceNumber

Parameter

data
IList<ArraySegment<Byte>>

Eine Liste von Bytearraysegmenten, die verkettet und als Datensatz angefügt werden.

Gibt zurück

Die Sequenznummer des geschriebenen Neustartbereichs.

Implementiert

Ausnahmen

Mindestens ein Argument ist null.

Der Vorgang kann nicht ausgeführt werden, da die Datensatzsequenz mit schreibgeschütztem Zugriff geöffnet wurde.

Die Anforderung kann aufgrund einer unerwarteten E/A-Ausnahme nicht ausgeführt werden.

Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.

Der Arbeitsspeicher reicht nicht aus, um die Ausführung des Programms fortzusetzen.

Die Datensatzsequenz ist voll.

Hinweise

Ein Neustartbereich kann verwendet werden, um Informationen, die die letzte Prüfpunktoperation eines Clients enthalten, vorübergehend zu speichern. Wenn eine Wiederherstellung erforderlich ist, können Sie einen Neustartbereich und alle Daten der letzten Prüfpunktoperation abrufen. Diese Daten initialisieren die Transaktionstabelle, die Tabelle mit den modifizierten Seiten ('Dirty Pages') und die Liste der geöffneten Dateien, damit diese im Wiederherstellungsprozess verwendet werden können.

Ein Neustartbereich kann mithilfe der ReadRestartAreas-Methode gelesen werden.

Die im Bytearraysegment enthaltenen Daten werden zum Anfügen als Datensatz in einem Array mit einem Byte verkettet. Die Daten können nicht wieder in Arraysegmente aufgeteilt werden, wenn der Neustartbereich gelesen wird.

Gilt für:

WriteRestartArea(ArraySegment<Byte>, SequenceNumber)

Schreibt einen Neustartbereich in die FileRecordSequence. Diese Methode kann nicht vererbt werden.

public:
 virtual System::IO::Log::SequenceNumber WriteRestartArea(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber newBaseSeqNum);
public System.IO.Log.SequenceNumber WriteRestartArea (ArraySegment<byte> data, System.IO.Log.SequenceNumber newBaseSeqNum);
abstract member WriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber -> System.IO.Log.SequenceNumber
override this.WriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber -> System.IO.Log.SequenceNumber
Public Function WriteRestartArea (data As ArraySegment(Of Byte), newBaseSeqNum As SequenceNumber) As SequenceNumber

Parameter

data
ArraySegment<Byte>

Eine Liste von Bytearraysegmenten, die verkettet und als Datensatz angefügt werden.

newBaseSeqNum
SequenceNumber

Die neue Basissequenznummer. Die angegebene Sequenznummer muss größer oder gleich der aktuellen Basissequenznummer sein.

Gibt zurück

Die Sequenznummer des geschriebenen Neustartbereichs.

Implementiert

Ausnahmen

Mindestens ein Argument ist null.

newBaseSeqNum befindet sich nicht zwischen der Basissequenznummer und der letzten Sequenznummer dieser Sequenz.

- oder -

Ein neues oder vorhandenes Archivende oder eine Basis des aktiven Protokolls ist ungültig.

newBaseSeqNum ist für diese Sequenz nicht gültig.

Der Vorgang kann nicht ausgeführt werden, da die Datensatzsequenz mit schreibgeschütztem Zugriff geöffnet wurde.

Die Anforderung kann aufgrund einer unerwarteten E/A-Ausnahme nicht ausgeführt werden.

Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.

Der Arbeitsspeicher reicht nicht aus, um die Ausführung des Programms fortzusetzen.

Die Datensatzsequenz ist voll.

Hinweise

Ein Neustartbereich kann verwendet werden, um Informationen, die die letzte Prüfpunktoperation eines Clients enthalten, vorübergehend zu speichern. Wenn eine Wiederherstellung erforderlich ist, können Sie einen Neustartbereich und alle Daten der letzten Prüfpunktoperation abrufen. Diese Daten initialisieren die Transaktionstabelle, die Tabelle mit den modifizierten Seiten ('Dirty Pages') und die Liste der geöffneten Dateien, damit diese im Wiederherstellungsprozess verwendet werden können.

Ein Neustartbereich kann mithilfe der ReadRestartAreas-Methode gelesen werden.

Wenn ein Neustartbereich geschrieben wird, werden die im Bytearraysegment enthaltenen Daten zum Anfügen als Datensatz in einem Array mit einem Byte verkettet. Die Daten können nicht wieder in Arraysegmente aufgeteilt werden, wenn der Neustartbereich gelesen wird.

Wenn diese Methode erfolgreich abgeschlossen wird, wurde die Basissequenznummer aktualisiert. Auf alle Protokolldatensätze mit Sequenznummern, die kleiner als die neue Basissequenznummer sind, kann nicht zugegriffen werden.

Gilt für:

WriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber)

Schreibt einen Neustartbereich in die FileRecordSequence. Diese Methode kann nicht vererbt werden.

public:
 virtual System::IO::Log::SequenceNumber WriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber newBaseSeqNum);
public System.IO.Log.SequenceNumber WriteRestartArea (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSeqNum);
abstract member WriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber -> System.IO.Log.SequenceNumber
override this.WriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber -> System.IO.Log.SequenceNumber
Public Function WriteRestartArea (data As IList(Of ArraySegment(Of Byte)), newBaseSeqNum As SequenceNumber) As SequenceNumber

Parameter

data
IList<ArraySegment<Byte>>

Eine Liste von Bytearraysegmenten, die verkettet und als Datensatz angefügt werden.

newBaseSeqNum
SequenceNumber

Die neue Basissequenznummer. Die angegebene Sequenznummer muss größer oder gleich der aktuellen Basissequenznummer sein.

Gibt zurück

Die Sequenznummer des geschriebenen Neustartbereichs.

Implementiert

Ausnahmen

Mindestens ein Argument ist null.

newBaseSeqNum befindet sich nicht zwischen der Basissequenznummer und der letzten Sequenznummer dieser Sequenz.

- oder -

Ein neues oder vorhandenes Archivende oder eine Basis des aktiven Protokolls ist ungültig.

newBaseSeqNum ist für diese Sequenz nicht gültig.

Der Vorgang kann nicht ausgeführt werden, da die Datensatzsequenz mit schreibgeschütztem Zugriff geöffnet wurde.

Die Anforderung kann aufgrund einer unerwarteten E/A-Ausnahme nicht ausgeführt werden.

Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.

Der Arbeitsspeicher reicht nicht aus, um die Ausführung des Programms fortzusetzen.

Die Datensatzsequenz ist voll.

Hinweise

Ein Neustartbereich kann verwendet werden, um Informationen, die die letzte Prüfpunktoperation eines Clients enthalten, vorübergehend zu speichern. Wenn eine Wiederherstellung erforderlich ist, können Sie einen Neustartbereich und alle Daten der letzten Prüfpunktoperation abrufen. Diese Daten initialisieren die Transaktionstabelle, die Tabelle mit den modifizierten Seiten ('Dirty Pages') und die Liste der geöffneten Dateien, damit diese im Wiederherstellungsprozess verwendet werden können.

Ein Neustartbereich kann mithilfe der ReadRestartAreas-Methode gelesen werden.

Wenn ein Neustartbereich geschrieben wird, werden die im Bytearraysegment enthaltenen Daten zum Anfügen als Datensatz in einem Array mit einem Byte verkettet. Die Daten können nicht wieder in Arraysegmente aufgeteilt werden, wenn der Neustartbereich gelesen wird.

Wenn diese Methode erfolgreich abgeschlossen wird, wurde die Basissequenznummer aktualisiert. Auf alle Protokolldatensätze mit Sequenznummern, die kleiner als die neue Basissequenznummer sind, kann nicht zugegriffen werden.

Gilt für:

WriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection)

Schreibt einen Neustartbereich in die FileRecordSequence. Diese Methode kann nicht vererbt werden.

public:
 virtual System::IO::Log::SequenceNumber WriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber newBaseSeqNum, System::IO::Log::ReservationCollection ^ reservations);
public System.IO.Log.SequenceNumber WriteRestartArea (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSeqNum, System.IO.Log.ReservationCollection reservations);
abstract member WriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection -> System.IO.Log.SequenceNumber
override this.WriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection -> System.IO.Log.SequenceNumber
Public Function WriteRestartArea (data As IList(Of ArraySegment(Of Byte)), newBaseSeqNum As SequenceNumber, reservations As ReservationCollection) As SequenceNumber

Parameter

data
IList<ArraySegment<Byte>>

Eine Liste von Bytearraysegmenten, die verkettet und als Datensatz angefügt werden.

newBaseSeqNum
SequenceNumber

Die neue Basissequenznummer. Die angegebene Sequenznummer muss größer oder gleich der aktuellen Basissequenznummer sein.

reservations
ReservationCollection

Eine ReservationCollection, die die Reservierung enthält, die für diesen Neustartbereich verwendet werden sollte.

Gibt zurück

Die Sequenznummer des geschriebenen Neustartbereichs.

Implementiert

Ausnahmen

Mindestens ein Argument ist null.

newBaseSeqNum befindet sich nicht zwischen der Basissequenznummer und der letzten Sequenznummer dieser Sequenz.

- oder -

Ein neues oder vorhandenes Archivende oder eine Basis des aktiven Protokolls ist ungültig.

reservations wurde nicht von dieser Datensatzsequenz erstellt.

- oder -

newBaseSeqNum ist für diese Sequenz nicht gültig.

Der Vorgang kann nicht ausgeführt werden, da die Datensatzsequenz mit schreibgeschütztem Zugriff geöffnet wurde.

Die Anforderung kann aufgrund einer unerwarteten E/A-Ausnahme nicht ausgeführt werden.

Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.

Der Arbeitsspeicher reicht nicht aus, um die Ausführung des Programms fortzusetzen.

Die Datensatzsequenz ist voll.

Keine Reservierung, die groß genug für data ist, kann in reservations gefunden werden.

Hinweise

Ein Neustartbereich kann verwendet werden, um Informationen, die die letzte Prüfpunktoperation eines Clients enthalten, vorübergehend zu speichern. Wenn eine Wiederherstellung erforderlich ist, können Sie einen Neustartbereich und alle Daten der letzten Prüfpunktoperation abrufen. Diese Daten initialisieren die Transaktionstabelle, die Tabelle mit den modifizierten Seiten ('Dirty Pages') und die Liste der geöffneten Dateien, damit diese im Wiederherstellungsprozess verwendet werden können.

Ein Neustartbereich kann mithilfe der ReadRestartAreas-Methode gelesen werden.

Wenn ein Neustartbereich geschrieben wird, werden die im Bytearraysegment enthaltenen Daten zum Anfügen als Datensatz in einem Array mit einem Byte verkettet. Die Daten können nicht wieder in Arraysegmente aufgeteilt werden, wenn der Neustartbereich gelesen wird.

Wenn eine Reservierung angegeben wird, nimmt der geschriebene Neustartbereich, der zuvor mithilfe einer in der Auflistung enthaltenen Reservierung reserviert wurde, Speicherplatz ein. Wenn diese Methode erfolgreich ist, wird die kleinstmögliche Reservierung verwendet, die die Daten aufnehmen kann. Diese Reservierung wird dann aus der Auflistung entfernt.

Wenn diese Methode erfolgreich abgeschlossen wird, wurde die Basissequenznummer aktualisiert. Auf alle Protokolldatensätze mit Sequenznummern, die kleiner als die neue Basissequenznummer sind, kann nicht zugegriffen werden.

Wenn eine Datensatzsequenz verworfen wurde oder wenn Sie ein ungültiges Argument weitergeben, werden unmittelbar während dieses Vorgangs Ausnahmen ausgelöst. Während einer asynchronen Anfügeanforderung auftretende Fehler, z. B. Fehler auf dem Datenträger während der E/A-Anforderung, lösen beim Aufruf der EndReserveAndAppend-Methode Ausnahmen aus.

Gilt für: