IRecordSequence.WriteRestartArea 方法

定义

在派生类中重写时,向 IRecordSequence 中写入一个重新开始区域。

重载

WriteRestartArea(ArraySegment<Byte>)

在派生类中重写时,向 IRecordSequence 中写入一个重新开始区域。

WriteRestartArea(IList<ArraySegment<Byte>>)

在派生类中重写时,向 IRecordSequence 中写入一个重新开始区域。

WriteRestartArea(ArraySegment<Byte>, SequenceNumber)

在派生类中重写时,向 IRecordSequence 中写入一个重新开始区域,并更新基序列号。

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

在派生类中重写时,向 IRecordSequence 中写入一个重新开始区域,并更新基序列号。

WriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection)

在派生类中重写时,利用预留向 IRecordSequence 中写入一个重新开始区域,并更新基序列号。

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

在派生类中重写时,利用预留向 IRecordSequence 中写入一个重新开始区域,并更新基序列号。

注解

重新开始区域用于临时存储包含客户端最后一次检查点操作的信息。 需要恢复时,可以分析重新开始区域,以检索最后一次检查点操作中的所有数据。 这些数据将初始化事务表、脏页表和打开文件表,以便它们能够用于恢复过程。 可以使用 ReadRestartAreas 方法来读取重新开始区域。

WriteRestartArea(ArraySegment<Byte>)

在派生类中重写时,向 IRecordSequence 中写入一个重新开始区域。

public:
 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
Public Function WriteRestartArea (data As ArraySegment(Of Byte)) As SequenceNumber

参数

data
ArraySegment<Byte>

将连接在一起并以记录形式追加的字节数组段的列表。

返回

写入的重新开始区域的序列号。

例外

一个或多个自变量无效。

写入重新开始区域时,发生了 I/O 错误。

记录序列无法获得足够的可用空间来容纳新的重新开始区域。

该方法是在序列已释放之后调用的。

注解

重新开始区域用于临时存储包含客户端最后一次检查点操作的信息。 公用日志文件系统 (CLFS) 维护两个重新开始区域,以确保至少有一个有效区域总是可用。 需要恢复时,CLFS 读取自己的重新开始区域和最后一个检查点操作中的所有数据。 这些数据将初始化事务表、脏页表和打开文件表,以便它们能够用于恢复过程。

可以使用 ReadRestartAreas 方法来读取重新开始区域。

字节数组段中的数据将连接成单个字节数组,以便以记录形式追加。 在读取重新开始区域时,无法将数据重新拆分为数组段。

适用于

WriteRestartArea(IList<ArraySegment<Byte>>)

在派生类中重写时,向 IRecordSequence 中写入一个重新开始区域。

public:
 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
Public Function WriteRestartArea (data As IList(Of ArraySegment(Of Byte))) As SequenceNumber

参数

data
IList<ArraySegment<Byte>>

将连接在一起并以记录形式追加的字节数组段的列表。

返回

写入的重新开始区域的序列号。

例外

一个或多个自变量无效。

写入重新开始区域时,发生了 I/O 错误。

记录序列无法获得足够的可用空间来容纳新的重新开始区域。

该方法是在序列已释放之后调用的。

注解

重新开始区域用于临时存储包含客户端最后一次检查点操作的信息。 需要恢复时,可以分析重新开始区域,以检索最后一次检查点操作中的所有数据。 这些数据将初始化事务表、脏页表和打开文件表,以便它们能够用于恢复过程。 可以使用 ReadRestartAreas 方法来读取重新开始区域。

字节数组段中的数据将连接成单个字节数组,以便以记录形式追加。 在读取重新开始区域时,无法将数据重新拆分为数组段。

适用于

WriteRestartArea(ArraySegment<Byte>, SequenceNumber)

在派生类中重写时,向 IRecordSequence 中写入一个重新开始区域,并更新基序列号。

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

参数

data
ArraySegment<Byte>

将连接在一起并以记录形式追加的字节数组段的列表。

newBaseSequenceNumber
SequenceNumber

新的基序列号。 指定的序列号必须大于或等于当前基序列号。

返回

写入的重新开始区域的序列号。

例外

一个或多个自变量无效。

写入重新开始区域时,发生了 I/O 错误。

记录序列无法获得足够的可用空间来容纳新的重新开始区域。

该方法是在序列已释放之后调用的。

注解

重新开始区域用于临时存储包含客户端最后一次检查点操作的信息。 需要恢复时,可以分析重新开始区域,以检索最后一次检查点操作中的所有数据。 这些数据将初始化事务表、脏页表和打开文件表,以便它们能够用于恢复过程。 可以使用 ReadRestartAreas 方法来读取重新开始区域。

写入重新开始区域时,字节数组段中的数据将连接成单个字节数组,以便以记录形式追加。 在读取重新开始区域时,无法将数据重新拆分为数组段。

此方法成功完成时,基序列号已更新。 其序列号小于新的基序列号的所有日志记录都不可访问。

适用于

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

在派生类中重写时,向 IRecordSequence 中写入一个重新开始区域,并更新基序列号。

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

参数

data
IList<ArraySegment<Byte>>

将连接在一起并以记录形式追加的字节数组段的列表。

newBaseSequenceNumber
SequenceNumber

新的基序列号。 指定的序列号必须大于或等于当前基序列号。

返回

写入的重新开始区域的序列号。

例外

一个或多个自变量无效。

写入重新开始区域时,发生了 I/O 错误。

记录序列无法获得足够的可用空间来容纳新的重新开始区域。

该方法是在序列已释放之后调用的。

注解

重新开始区域用于临时存储包含客户端最后一次检查点操作的信息。 需要恢复时,可以分析重新开始区域,以检索最后一次检查点操作中的所有数据。 这些数据将初始化事务表、脏页表和打开文件表,以便它们能够用于恢复过程。 可以使用 ReadRestartAreas 方法来读取重新开始区域。

写入重新开始区域时,字节数组段中的数据将连接成单个字节数组,以便以记录形式追加。 在读取重新开始区域时,无法将数据重新拆分为数组段。

此方法成功完成时,基序列号已更新。 其序列号小于新的基序列号的所有日志记录都不可访问。

适用于

WriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection)

在派生类中重写时,利用预留向 IRecordSequence 中写入一个重新开始区域,并更新基序列号。

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

参数

data
ArraySegment<Byte>

将连接在一起并以记录形式追加的字节数组段的列表。

newBaseSequenceNumber
SequenceNumber

新的基序列号。 指定的序列号必须大于或等于当前基序列号。

reservation
ReservationCollection

一个 ReservationCollection,它包含应当用于此重新开始区域的预留。

返回

写入的重新开始区域的序列号。

例外

一个或多个自变量无效。

写入重新开始区域时,发生了 I/O 错误。

记录序列无法获得足够的可用空间来容纳新的重新开始区域。

该方法是在序列已释放之后调用的。

注解

重新开始区域用于临时存储包含客户端最后一次检查点操作的信息。 需要恢复时,可以分析重新开始区域,以检索最后一次检查点操作中的所有数据。 这些数据将初始化事务表、脏页表和打开文件表,以便它们能够用于恢复过程。 可以使用 ReadRestartAreas 方法来读取重新开始区域。

写入重新开始区域时,字节数组段中的数据将连接成单个字节数组,以便以记录形式追加。 在读取重新开始区域时,无法将数据重新拆分为数组段。

如果指定了预留,写入的重新开始区域将使用集合中包含的预留来占用先前已预留的空间。 如果该方法成功,它将占用能容纳数据的最小预留,而该预留将从集合中移除。

此方法成功完成时,基序列号已更新。 其序列号小于新的基序列号的所有日志记录都不可访问。

如果记录序列已经释放,或者如果传递了无效自变量,此操作内将立即引发异常。 异步追加请求过程中发生的错误(例如,I/O 请求过程中的磁盘故障)将导致在调用 EndReserveAndAppend 方法时引发异常。

适用于

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

在派生类中重写时,利用预留向 IRecordSequence 中写入一个重新开始区域,并更新基序列号。

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

参数

data
IList<ArraySegment<Byte>>

将连接在一起并以记录形式追加的字节数组段的列表。

newBaseSequenceNumber
SequenceNumber

新的基序列号。 指定的序列号必须大于或等于当前基序列号。

reservation
ReservationCollection

一个 ReservationCollection,它包含应当用于此重新开始区域的预留。

返回

写入的重新开始区域的序列号。

例外

一个或多个自变量无效。

写入重新开始区域时,发生了 I/O 错误。

记录序列无法获得足够的可用空间来容纳新的重新开始区域。

该方法是在序列已释放之后调用的。

注解

重新开始区域用于临时存储包含客户端最后一次检查点操作的信息。 需要恢复时,可以分析重新开始区域,以检索最后一次检查点操作中的所有数据。 这些数据将初始化事务表、脏页表和打开文件表,以便它们能够用于恢复过程。 可以使用 ReadRestartAreas 方法来读取重新开始区域。

写入重新开始区域时,字节数组段中的数据将连接成单个字节数组,以便以记录形式追加。 在读取重新开始区域时,无法将数据重新拆分为数组段。

如果指定了预留,写入的重新开始区域将使用集合中包含的预留来占用先前已预留的空间。 如果该方法成功,它将占用能容纳数据的最小预留,而该预留将从集合中移除。

此方法成功完成时,基序列号已更新。 其序列号小于新的基序列号的所有日志记录都不可访问。

如果记录序列已经释放,或者如果传递了无效自变量,此操作内将立即引发异常。 异步追加请求过程中发生的错误(例如,I/O 请求过程中的磁盘故障)将导致在调用 EndReserveAndAppend 方法时引发异常。

适用于