FileRecordSequence.WriteRestartArea メソッド

定義

再開領域を FileRecordSequence に書き込みます。

オーバーロード

WriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection)

再開領域を FileRecordSequence に書き込みます。 このメソッドは継承できません。

WriteRestartArea(ArraySegment<Byte>)

再開領域を FileRecordSequence に書き込みます。 このメソッドは継承できません。

WriteRestartArea(IList<ArraySegment<Byte>>)

再開領域を FileRecordSequence に書き込みます。 このメソッドは継承できません。

WriteRestartArea(ArraySegment<Byte>, SequenceNumber)

再開領域を FileRecordSequence に書き込みます。 このメソッドは継承できません。

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

再開領域を FileRecordSequence に書き込みます。 このメソッドは継承できません。

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

再開領域を FileRecordSequence に書き込みます。 このメソッドは継承できません。

注釈

再開領域は、クライアントの最後のチェックポイント操作に関する情報を一時的に保存するために使用できます。 回復処理が必要な場合、最後のチェックポイント操作から再開領域を読み取り、すべてのデータを取得できます。 このデータは、回復プロセスで使用できるようにトランザクション テーブルおよびダーティ ページ テーブルを初期化し、ファイル テーブルを開きます。

再開領域は、ReadRestartAreas メソッドを使用して読み取ることができます。

WriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection)

再開領域を FileRecordSequence に書き込みます。 このメソッドは継承できません。

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

パラメーター

data
ArraySegment<Byte>

レコードとして連結および追加されるバイト配列セグメントのリスト。

newBaseSeqNum
SequenceNumber

新しい基本シーケンス番号。 指定するシーケンス番号は、現在の基本シーケンス番号以上であることが必要です。

reservations
ReservationCollection

この再開領域で使用する予約情報を格納する ReservationCollection

戻り値

書き込まれた再開領域のシーケンス番号。

実装

例外

1 つ以上の引数が null です。

newBaseSeqNum が、このシーケンスの基本シーケンス番号と最後のシーケンス番号との間にありません。

- または -

新しいアーカイブ末尾または既存のアーカイブ末尾、あるいはアーカイブ ログの基本が無効です。

reservations が、このレコード シーケンスによって作成されていません。

- または -

このシーケンスの newBaseSeqNum が有効ではありません。

レコード シーケンスが読み取り専用アクセスで開かれているため、操作を実行できません。

予期しない I/O 例外のため、要求を実行できません。

シーケンスが破棄された後にメソッドが呼び出されました。

プログラムの実行を継続する十分なメモリがありません。

レコード シーケンスがいっぱいです。

data に対応する十分なサイズの予約が reservations に見つかりません。

注釈

再開領域は、クライアントの最後のチェックポイント操作に関する情報を一時的に保存するために使用できます。 回復処理が必要な場合、最後のチェックポイント操作から再開領域を読み取り、すべてのデータを取得できます。 このデータは、回復プロセスで使用できるようにトランザクション テーブルおよびダーティ ページ テーブルを初期化し、ファイル テーブルを開きます。

再開領域は、ReadRestartAreas メソッドを使用して読み取ることができます。

再開領域が書き込まれた場合、バイト配列セグメント内のデータはレコードとして追加するために単一のバイト配列に連結されます。 レコード領域の読み取り時にデータを分割して配列セグメントに戻す準備は実施されません。

予約を指定すると、コレクションに格納されていた予約情報で以前に予約された領域が書き込まれた再開領域により消費されます。 このメソッドが成功すると、データを格納できる最も小さな予約が消費され、その予約がコレクションから削除されます。

このメソッドが正しく完了すると、基本シーケンス番号が更新されます。 新しい基本シーケンス番号未満の番号を持つすべてのログ レコードは、アクセスできません。

レコード シーケンスが破棄されている場合、または無効な引数を渡した場合、この操作内で例外が直ちにスローされます。 I/O 要求時にディスク障害が発生した場合など、非同期追加要求中にエラーが発生した場合、EndReserveAndAppend メソッドが呼び出されたときに例外がスローされます。

適用対象

WriteRestartArea(ArraySegment<Byte>)

再開領域を FileRecordSequence に書き込みます。 このメソッドは継承できません。

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

パラメーター

data
ArraySegment<Byte>

レコードとして連結および追加されるバイト配列セグメントのリスト。

戻り値

書き込まれた再開領域のシーケンス番号。

実装

例外

1 つ以上の引数が null です。

レコード シーケンスが読み取り専用アクセスで開かれているため、操作を実行できません。

予期しない I/O 例外のため、要求を実行できません。

シーケンスが破棄された後にメソッドが呼び出されました。

プログラムの実行を継続する十分なメモリがありません。

レコード シーケンスがいっぱいです。

注釈

再開領域は、クライアントの最後のチェックポイント操作に関する情報を一時的に保存するために使用できます。 回復処理が必要な場合、最後のチェックポイント操作から再開領域を読み取り、すべてのデータを取得できます。 このデータは、回復プロセスで使用できるようにトランザクション テーブルおよびダーティ ページ テーブルを初期化し、ファイル テーブルを開きます。

再開領域は、ReadRestartAreas メソッドを使用して読み取ることができます。

バイト配列セグメント内のデータは、レコードとして追加するために単一のバイト配列に連結されます。 レコード領域の読み取り時にデータを分割して配列セグメントに戻す準備は実施されません。

適用対象

WriteRestartArea(IList<ArraySegment<Byte>>)

再開領域を FileRecordSequence に書き込みます。 このメソッドは継承できません。

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

パラメーター

data
IList<ArraySegment<Byte>>

レコードとして連結および追加されるバイト配列セグメントのリスト。

戻り値

書き込まれた再開領域のシーケンス番号。

実装

例外

1 つ以上の引数が null です。

レコード シーケンスが読み取り専用アクセスで開かれているため、操作を実行できません。

予期しない I/O 例外のため、要求を実行できません。

シーケンスが破棄された後にメソッドが呼び出されました。

プログラムの実行を継続する十分なメモリがありません。

レコード シーケンスがいっぱいです。

注釈

再開領域は、クライアントの最後のチェックポイント操作に関する情報を一時的に保存するために使用できます。 回復処理が必要な場合、最後のチェックポイント操作から再開領域を読み取り、すべてのデータを取得できます。 このデータは、回復プロセスで使用できるようにトランザクション テーブルおよびダーティ ページ テーブルを初期化し、ファイル テーブルを開きます。

再開領域は、ReadRestartAreas メソッドを使用して読み取ることができます。

バイト配列セグメント内のデータは、レコードとして追加するために単一のバイト配列に連結されます。 レコード領域の読み取り時にデータを分割して配列セグメントに戻す準備は実施されません。

適用対象

WriteRestartArea(ArraySegment<Byte>, SequenceNumber)

再開領域を FileRecordSequence に書き込みます。 このメソッドは継承できません。

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

パラメーター

data
ArraySegment<Byte>

レコードとして連結および追加されるバイト配列セグメントのリスト。

newBaseSeqNum
SequenceNumber

新しい基本シーケンス番号。 指定するシーケンス番号は、現在の基本シーケンス番号以上であることが必要です。

戻り値

書き込まれた再開領域のシーケンス番号。

実装

例外

1 つ以上の引数が null です。

newBaseSeqNum が、このシーケンスの基本シーケンス番号と最後のシーケンス番号との間にありません。

- または -

新しいアーカイブ末尾または既存のアーカイブ末尾、あるいはアーカイブ ログの基本が無効です。

このシーケンスの newBaseSeqNum が有効ではありません。

レコード シーケンスが読み取り専用アクセスで開かれているため、操作を実行できません。

予期しない I/O 例外のため、要求を実行できません。

シーケンスが破棄された後にメソッドが呼び出されました。

プログラムの実行を継続する十分なメモリがありません。

レコード シーケンスがいっぱいです。

注釈

再開領域は、クライアントの最後のチェックポイント操作に関する情報を一時的に保存するために使用できます。 回復処理が必要な場合、最後のチェックポイント操作から再開領域を読み取り、すべてのデータを取得できます。 このデータは、回復プロセスで使用できるようにトランザクション テーブルおよびダーティ ページ テーブルを初期化し、ファイル テーブルを開きます。

再開領域は、ReadRestartAreas メソッドを使用して読み取ることができます。

再開領域が書き込まれた場合、バイト配列セグメント内のデータはレコードとして追加するために単一のバイト配列に連結されます。 レコード領域の読み取り時にデータを分割して配列セグメントに戻す準備は実施されません。

このメソッドが正しく完了すると、基本シーケンス番号が更新されます。 新しい基本シーケンス番号未満の番号を持つすべてのログ レコードは、アクセスできません。

適用対象

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

再開領域を FileRecordSequence に書き込みます。 このメソッドは継承できません。

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

パラメーター

data
IList<ArraySegment<Byte>>

レコードとして連結および追加されるバイト配列セグメントのリスト。

newBaseSeqNum
SequenceNumber

新しい基本シーケンス番号。 指定するシーケンス番号は、現在の基本シーケンス番号以上であることが必要です。

戻り値

書き込まれた再開領域のシーケンス番号。

実装

例外

1 つ以上の引数が null です。

newBaseSeqNum が、このシーケンスの基本シーケンス番号と最後のシーケンス番号との間にありません。

- または -

新しいアーカイブ末尾または既存のアーカイブ末尾、あるいはアーカイブ ログの基本が無効です。

このシーケンスの newBaseSeqNum が有効ではありません。

レコード シーケンスが読み取り専用アクセスで開かれているため、操作を実行できません。

予期しない I/O 例外のため、要求を実行できません。

シーケンスが破棄された後にメソッドが呼び出されました。

プログラムの実行を継続する十分なメモリがありません。

レコード シーケンスがいっぱいです。

注釈

再開領域は、クライアントの最後のチェックポイント操作に関する情報を一時的に保存するために使用できます。 回復処理が必要な場合、最後のチェックポイント操作から再開領域を読み取り、すべてのデータを取得できます。 このデータは、回復プロセスで使用できるようにトランザクション テーブルおよびダーティ ページ テーブルを初期化し、ファイル テーブルを開きます。

再開領域は、ReadRestartAreas メソッドを使用して読み取ることができます。

再開領域が書き込まれた場合、バイト配列セグメント内のデータはレコードとして追加するために単一のバイト配列に連結されます。 レコード領域の読み取り時にデータを分割して配列セグメントに戻す準備は実施されません。

このメソッドが正しく完了すると、基本シーケンス番号が更新されます。 新しい基本シーケンス番号未満の番号を持つすべてのログ レコードは、アクセスできません。

適用対象

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

再開領域を FileRecordSequence に書き込みます。 このメソッドは継承できません。

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

パラメーター

data
IList<ArraySegment<Byte>>

レコードとして連結および追加されるバイト配列セグメントのリスト。

newBaseSeqNum
SequenceNumber

新しい基本シーケンス番号。 指定するシーケンス番号は、現在の基本シーケンス番号以上であることが必要です。

reservations
ReservationCollection

この再開領域で使用する予約情報を格納する ReservationCollection

戻り値

書き込まれた再開領域のシーケンス番号。

実装

例外

1 つ以上の引数が null です。

newBaseSeqNum が、このシーケンスの基本シーケンス番号と最後のシーケンス番号との間にありません。

- または -

新しいアーカイブ末尾または既存のアーカイブ末尾、あるいはアーカイブ ログの基本が無効です。

reservations が、このレコード シーケンスによって作成されていません。

- または -

このシーケンスの newBaseSeqNum が有効ではありません。

レコード シーケンスが読み取り専用アクセスで開かれているため、操作を実行できません。

予期しない I/O 例外のため、要求を実行できません。

シーケンスが破棄された後にメソッドが呼び出されました。

プログラムの実行を継続する十分なメモリがありません。

レコード シーケンスがいっぱいです。

data に対応する十分なサイズの予約が reservations に見つかりません。

注釈

再開領域は、クライアントの最後のチェックポイント操作に関する情報を一時的に保存するために使用できます。 回復処理が必要な場合、最後のチェックポイント操作から再開領域を読み取り、すべてのデータを取得できます。 このデータは、回復プロセスで使用できるようにトランザクション テーブルおよびダーティ ページ テーブルを初期化し、ファイル テーブルを開きます。

再開領域は、ReadRestartAreas メソッドを使用して読み取ることができます。

再開領域が書き込まれた場合、バイト配列セグメント内のデータはレコードとして追加するために単一のバイト配列に連結されます。 レコード領域の読み取り時にデータを分割して配列セグメントに戻す準備は実施されません。

予約を指定すると、コレクションに格納されていた予約情報で以前に予約された領域が書き込まれた再開領域により消費されます。 このメソッドが成功すると、データを格納できる最も小さな予約が消費され、その予約がコレクションから削除されます。

このメソッドが正しく完了すると、基本シーケンス番号が更新されます。 新しい基本シーケンス番号未満の番号を持つすべてのログ レコードは、アクセスできません。

レコード シーケンスが破棄されている場合、または無効な引数を渡した場合、この操作内で例外が直ちにスローされます。 I/O 要求時にディスク障害が発生した場合など、非同期追加要求中にエラーが発生した場合、EndReserveAndAppend メソッドが呼び出されたときに例外がスローされます。

適用対象