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,並更新基底序號。 這個方法無法被繼承。

備註

重新啟動區域可用來暫時儲存包含用戶端上一個檢查點作業的資訊。 一般記錄檔系統 (CLFS) 會維護兩個重新啟動區域,以保證至少有一個有效區域永遠可供使用。 當需要復原時,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>

即將串連並附加成記錄的陣列區段。

傳回

寫入之重新啟動區域的序號。

實作

例外狀況

一或多個引數無效。

寫入重新啟動區域時發生 I/O 錯誤。

記錄順序無法騰出足夠的可用空間來容納新的重新啟動區域。

已在處置序列之後呼叫此方法。

一或多個引數為 null

存取指定的記錄順序遭作業系統拒絕。

沒有足夠的記憶體可以繼續執行程式。

備註

重新啟動區域可用來暫時儲存包含用戶端上一個檢查點作業的資訊。 一般記錄檔系統 (CLFS) 會維護兩個重新啟動區域,以保證至少有一個有效區域永遠可供使用。 當需要復原時,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>>

即將串連並附加成記錄之位元組陣列區段的清單。

傳回

寫入之重新啟動區域的序號。

實作

例外狀況

一或多個引數無效。

寫入重新啟動區域時發生 I/O 錯誤。

記錄順序無法騰出足夠的可用空間來容納新的重新啟動區域。

已在處置序列之後呼叫此方法。

一或多個引數為 null

存取指定的記錄順序遭作業系統拒絕。

沒有足夠的記憶體可以繼續執行程式。

備註

重新啟動區域可用來暫時儲存包含用戶端上一個檢查點作業的資訊。 一般記錄檔系統 (CLFS) 會維護兩個重新啟動區域,以保證至少有一個有效區域永遠可供使用。 當需要復原時,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

新的基底序號。 指定的序號必須大於或等於目前基底序號。

傳回

寫入之重新啟動區域的序號。

實作

例外狀況

一或多個引數無效。

寫入重新啟動區域時發生 I/O 錯誤。

記錄順序無法騰出足夠的可用空間來容納新的重新啟動區域。

已在處置序列之後呼叫此方法。

備註

重新啟動區域可用來暫時儲存包含用戶端上一個檢查點作業的資訊。 一般記錄檔系統 (CLFS) 會維護兩個重新啟動區域,以保證至少有一個有效區域永遠可供使用。 當需要復原時,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

新的基底序號。 指定的序號必須大於或等於目前基底序號。

傳回

寫入之重新啟動區域的序號。

實作

例外狀況

一或多個引數無效。

寫入重新啟動區域時發生 I/O 錯誤。

記錄順序無法騰出足夠的可用空間來容納新的重新啟動區域。

已在處置序列之後呼叫此方法。

備註

重新啟動區域可用來暫時儲存包含用戶端上一個檢查點作業的資訊。 一般記錄檔系統 (CLFS) 會維護兩個重新啟動區域,以保證至少有一個有效區域永遠可供使用。 當需要復原時,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,其中包含此重新啟動區域所應使用的保留區。

傳回

寫入之重新啟動區域的序號。

實作

例外狀況

一或多個引數無效。

寫入重新啟動區域時發生 I/O 錯誤。

記錄順序無法騰出足夠的可用空間來容納新的重新啟動區域。

已在處置序列之後呼叫此方法。

備註

重新啟動區域可用來暫時儲存包含用戶端上一個檢查點作業的資訊。 一般記錄檔系統 (CLFS) 會維護兩個重新啟動區域,以保證至少有一個有效區域永遠可供使用。 當需要復原時,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 不是由此記錄順序所建立。

一或多個參數為 null

新的或現有封存結尾或作用中記錄的基底無效。

-或-

newBaseSeqNum 不是介於這個順序的基底序號和最後一個序號之間。

由於意外的 I/O 例外狀況,所以無法執行要求。

-或-

因為 I/O 裝置錯誤,所以無法執行要求。

已在處置序列之後呼叫此方法。

沒有足夠的記憶體可以繼續執行程式。

存取指定的記錄順序遭作業系統拒絕。

記錄順序已滿。

備註

重新啟動區域可用來暫時儲存包含用戶端上一個檢查點作業的資訊。 一般記錄檔系統 (CLFS) 會維護兩個重新啟動區域,以保證至少有一個有效區域永遠可供使用。 當需要復原時,CLFS 會讀取其重新啟動區域,以及上一個檢查點作業傳回的所有資料。 這些資料會初始化交易資料表、中途分頁資料表和開啟檔案資料表,好讓它們可用於復原程序。

您可以使用 ReadRestartAreas 方法來讀取重新啟動區域。

當寫入重新啟動區域時,位元組陣列區段中的資料會串連至單一位元組陣列,以便附加為記錄。 在讀取重新啟動區域時,不會將資料分割回陣列區段。

如果已指定保留區,寫入的重新啟動區域將會使用包含在集合中的保留區,以取用先前所保留的空間。 如果此方法成功,便會取用可以容納資料的最小保留區,而且該保留區將會從集合移除。

當這個方法成功完成時,基底序號已經更新。 只要是序號小於新基底序號的所有記錄都無法存取。

如果處置了記錄順序,或是您傳遞了無效的引數,就會立即在此作業中擲回例外狀況。 在非同步附加要求期間發生的錯誤 (例如,在 I/O 要求期間發生的磁碟錯誤) 會導致在呼叫 EndReserveAndAppend 方法時擲回例外狀況。

適用於