IRecordSequence.WriteRestartArea 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當在衍生類別中被覆寫時,會寫入一個重啟區域到 IRecordSequence。
多載
| 名稱 | Description |
|---|---|
| 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 restart 區域,並更新基底序號。 |
| WriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection) |
當在衍生類別中覆寫時,會用保留寫入 IRecordSequence restart 區域,並更新基底序號。 |
備註
重新啟動區域用於暫時儲存包含用戶端最後檢查點操作的資訊。 當需要復原時,你可以解析重新啟動區域,取得上一次檢查點操作的所有資料。 這些資料會初始化交易表、髒頁表和開啟檔案表,讓它們能用於復原過程。 重新啟動區域可以用此 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 restart 區域,並更新基底序號。
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 A包含了應該用於這個重啟區域的預留。
傳回
書寫重啟區的序號。
例外狀況
一或多個引數無效。
在寫入重啟區域時發生了 I/O 錯誤。
記錄序列無法產生足夠的空閒空間來容納新的重啟區域。
該方法是在序列被處理後才被呼叫的。
備註
重新啟動區域用於暫時儲存包含用戶端最後檢查點操作的資訊。 當需要復原時,你可以解析重新啟動區域,取得上一次檢查點操作的所有資料。 這些資料會初始化交易表、髒頁表和開啟檔案表,讓它們能用於復原過程。 重新啟動區域可以用此 ReadRestartAreas 方法讀取。
當重啟區域被寫入時,位元組陣列區段中的資料會串接成單一位元組陣列,作為記錄附加。 當讀取重新啟動區域時,並未提供將資料分割回陣列區段的配置。
若指定預留,書面重啟區域將利用先前已保留的空間,使用集合中的預留空間。 若方法成功,將消耗能包含資料的最小保留區,該保留區將從集合中移除。
當此方法成功完成時,基礎序列號即已更新。 所有序號小於新基序號的日誌記錄都無法存取。
如果記錄序列已被處理,或你傳遞了無效參數,則在此操作中會立即拋出例外。 例如,在非同步附加請求期間發生錯誤,例如在 I/O 請求中磁碟故障,當呼叫該 EndReserveAndAppend 方法時會拋出異常。
適用於
WriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection)
當在衍生類別中覆寫時,會用保留寫入 IRecordSequence restart 區域,並更新基底序號。
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 A包含了應該用於這個重啟區域的預留。
傳回
書寫重啟區的序號。
例外狀況
一或多個引數無效。
在寫入重啟區域時發生了 I/O 錯誤。
記錄序列無法產生足夠的空閒空間來容納新的重啟區域。
該方法是在序列被處理後才被呼叫的。
備註
重新啟動區域用於暫時儲存包含用戶端最後檢查點操作的資訊。 當需要復原時,你可以解析重新啟動區域,取得上一次檢查點操作的所有資料。 這些資料會初始化交易表、髒頁表和開啟檔案表,讓它們能用於復原過程。 重新啟動區域可以用此 ReadRestartAreas 方法讀取。
當重啟區域被寫入時,位元組陣列區段中的資料會串接成單一位元組陣列,作為記錄附加。 當讀取重新啟動區域時,並未提供將資料分割回陣列區段的配置。
若指定預留,書面重啟區域將利用先前已保留的空間,使用集合中的預留空間。 若方法成功,將消耗能包含資料的最小保留區,該保留區將從集合中移除。
當此方法成功完成時,基礎序列號即已更新。 所有序號小於新基序號的日誌記錄都無法存取。
如果記錄序列已被處理,或你傳遞了無效參數,則在此操作中會立即拋出例外。 例如,在非同步附加請求期間發生錯誤,例如在 I/O 請求中磁碟故障,當呼叫該 EndReserveAndAppend 方法時會拋出異常。