次の方法で共有


LogRecordSequence.WriteRestartArea メソッド

定義

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

オーバーロード

WriteRestartArea(ArraySegment<Byte>)

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

WriteRestartArea(IList<ArraySegment<Byte>>)

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

WriteRestartArea(ArraySegment<Byte>, SequenceNumber)

再開領域を LogRecordSequence に書き込み、基本シーケンス番号を更新します。 このメソッドは継承できません。

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

再開領域を LogRecordSequence に書き込み、基本シーケンス番号を更新します。 このメソッドは継承できません。

WriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection)

予約を使用して再開領域を LogRecordSequence に書き込み、基本シーケンス番号を更新します。 このメソッドは継承できません。

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

予約を使用して再開領域を LogRecordSequence に書き込み、基本シーケンス番号を更新します。 このメソッドは継承できません。

注釈

再開領域は、クライアントの最後のチェックポイント操作に関する情報を一時的に保存するために使用されます。 Common Log File System (CLFS) は、少なくとも 1 つの有効な領域が常に使用可能であることを保証するために 2 つの再開領域を維持します。 回復処理が必要な場合、CLFS は最後のチェックポイント操作から再開領域とすべてのデータを読み取ります。 このデータは、回復プロセスで使用できるようにトランザクション テーブルおよびダーティ ページ テーブルを初期化し、ファイル テーブルを開きます。

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

WriteRestartArea(ArraySegment<Byte>)

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

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 つ以上の引数が無効です。

再開領域の書き込み中に I/O エラーが発生しました。

レコード シーケンスは、新しい再開領域を格納するための十分な空き領域を作成できませんでした。

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

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

指定のログ シーケンスへのアクセスは、オペレーティング システムにより拒否されました。

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

注釈

再開領域は、クライアントの最後のチェックポイント操作に関する情報を一時的に保存するために使用されます。 Common Log File System (CLFS) は、少なくとも 1 つの有効な領域が常に使用可能であることを保証するために 2 つの再開領域を維持します。 回復処理が必要な場合、CLFS は最後のチェックポイント操作から再開領域とすべてのデータを読み取ります。 このデータは、回復プロセスで使用できるようにトランザクション テーブルおよびダーティ ページ テーブルを初期化し、ファイル テーブルを開きます。

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

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

適用対象

WriteRestartArea(IList<ArraySegment<Byte>>)

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

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 つ以上の引数が無効です。

再開領域の書き込み中に I/O エラーが発生しました。

レコード シーケンスは、新しい再開領域を格納するための十分な空き領域を作成できませんでした。

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

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

指定のログ シーケンスへのアクセスは、オペレーティング システムにより拒否されました。

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

注釈

再開領域は、クライアントの最後のチェックポイント操作に関する情報を一時的に保存するために使用されます。 Common Log File System (CLFS) は、少なくとも 1 つの有効な領域が常に使用可能であることを保証するために 2 つの再開領域を維持します。 回復処理が必要な場合、CLFS は最後のチェックポイント操作から再開領域とすべてのデータを読み取ります。 このデータは、回復プロセスで使用できるようにトランザクション テーブルおよびダーティ ページ テーブルを初期化し、ファイル テーブルを開きます。

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

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

適用対象

WriteRestartArea(ArraySegment<Byte>, SequenceNumber)

再開領域を LogRecordSequence に書き込み、基本シーケンス番号を更新します。 このメソッドは継承できません。

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 つ以上の引数が無効です。

再開領域の書き込み中に I/O エラーが発生しました。

レコード シーケンスは、新しい再開領域を格納するための十分な空き領域を作成できませんでした。

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

注釈

再開領域は、クライアントの最後のチェックポイント操作に関する情報を一時的に保存するために使用されます。 Common Log File System (CLFS) は、少なくとも 1 つの有効な領域が常に使用可能であることを保証するために 2 つの再開領域を維持します。 回復処理が必要な場合、CLFS は最後のチェックポイント操作から再開領域とすべてのデータを読み取ります。 このデータは、回復プロセスで使用できるようにトランザクション テーブルおよびダーティ ページ テーブルを初期化し、ファイル テーブルを開きます。

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

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

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

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

適用対象

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

再開領域を LogRecordSequence に書き込み、基本シーケンス番号を更新します。 このメソッドは継承できません。

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 つ以上の引数が無効です。

再開領域の書き込み中に I/O エラーが発生しました。

レコード シーケンスは、新しい再開領域を格納するための十分な空き領域を作成できませんでした。

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

注釈

再開領域は、クライアントの最後のチェックポイント操作に関する情報を一時的に保存するために使用されます。 Common Log File System (CLFS) は、少なくとも 1 つの有効な領域が常に使用可能であることを保証するために 2 つの再開領域を維持します。 回復処理が必要な場合、CLFS は最後のチェックポイント操作から再開領域とすべてのデータを読み取ります。 このデータは、回復プロセスで使用できるようにトランザクション テーブルおよびダーティ ページ テーブルを初期化し、ファイル テーブルを開きます。

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

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

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

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

適用対象

WriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection)

予約を使用して再開領域を LogRecordSequence に書き込み、基本シーケンス番号を更新します。 このメソッドは継承できません。

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 つ以上の引数が無効です。

再開領域の書き込み中に I/O エラーが発生しました。

レコード シーケンスは、新しい再開領域を格納するための十分な空き領域を作成できませんでした。

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

注釈

再開領域は、クライアントの最後のチェックポイント操作に関する情報を一時的に保存するために使用されます。 Common Log File System (CLFS) は、少なくとも 1 つの有効な領域が常に使用可能であることを保証するために 2 つの再開領域を維持します。 回復処理が必要な場合、CLFS は最後のチェックポイント操作から再開領域とすべてのデータを読み取ります。 このデータは、回復プロセスで使用できるようにトランザクション テーブルおよびダーティ ページ テーブルを初期化し、ファイル テーブルを開きます。

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

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

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

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

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

適用対象

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

予約を使用して再開領域を LogRecordSequence に書き込み、基本シーケンス番号を更新します。 このメソッドは継承できません。

public:
 virtual System::IO::Log::SequenceNumber WriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber newBaseSeqNum, System::IO::Log::ReservationCollection ^ reservationCollection);
public System.IO.Log.SequenceNumber WriteRestartArea (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSeqNum, System.IO.Log.ReservationCollection reservationCollection);
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, reservationCollection As ReservationCollection) As SequenceNumber

パラメーター

data
IList<ArraySegment<Byte>>

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

newBaseSeqNum
SequenceNumber

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

reservationCollection
ReservationCollection

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

戻り値

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

実装

例外

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

- または -

指定されたログ列挙体の開始シーケンス番号が無効です。

- または -

data が最大レコード サイズより大きいため、追加できません。

- または -

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

1 つ以上のパラメーターが null です。

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

- または -

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

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

- または -

I/O デバイス エラーのため、要求は実行されませんでした。

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

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

指定のログ シーケンスへのアクセスは、オペレーティング システムにより拒否されました。

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

注釈

再開領域は、クライアントの最後のチェックポイント操作に関する情報を一時的に保存するために使用されます。 Common Log File System (CLFS) は、少なくとも 1 つの有効な領域が常に使用可能であることを保証するために 2 つの再開領域を維持します。 回復処理が必要な場合、CLFS は最後のチェックポイント操作から再開領域とすべてのデータを読み取ります。 このデータは、回復プロセスで使用できるようにトランザクション テーブルおよびダーティ ページ テーブルを初期化し、ファイル テーブルを開きます。

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

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

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

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

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

適用対象