PurgeTransactionSequenceData 方法
從交易歷程記錄資料表中清除指定的資料。
命名空間: System.Data.SqlServerCe
組件: System.Data.SqlServerCe (在 System.Data.SqlServerCe.dll 中)
語法
'宣告
Public Sub PurgeTransactionSequenceData ( _
pType As PurgeType, _
retentionValue As Long _
)
'用途
Dim instance As SqlCeChangeTracking
Dim pType As PurgeType
Dim retentionValue As Long
instance.PurgeTransactionSequenceData(pType, _
retentionValue)
public void PurgeTransactionSequenceData(
PurgeType pType,
long retentionValue
)
public:
void PurgeTransactionSequenceData(
PurgeType pType,
long long retentionValue
)
member PurgeTransactionSequenceData :
pType:PurgeType *
retentionValue:int64 -> unit
public function PurgeTransactionSequenceData(
pType : PurgeType,
retentionValue : long
)
參數
- pType
型別:System.Data.SqlServerCe. . :: . .PurgeType
PurgeType 的其中一個值,這個值會指定清除是以時間為基礎,還是根據修改交易歷程記錄資料之最後一筆交易的認可序號 (CSN)。
- retentionValue
型別:System. . :: . .Int64
指定應該保留資料列之上限的數字。如果清除是以時間為基礎,此參數就會指定從目前日期開始要保留交易歷程記錄資料的天數。如果清除是以 CSN 為基礎,此參數就會指定應該保留交易歷程記錄資料之最後一筆交易的 CSN。
例外
例外狀況 | 條件 |
---|---|
ArgumentOutOfRangeException | retentionValue 小於零。 -或- purgeType 不是有效的 PurgeType 值。 |
備註
當交易認可時,系統會在交易歷程記錄資料表 (__sysTxCommitSequence) 中加入一個項目,其中包含與此交易相關的追蹤資訊。您可以刪除不再與應用程式相關之交易的資料列,藉以限制此資料表的大小。
您可以使用 pType 參數來指定下列其中一種清除類型:
以時間為基礎的清除。如果清除是以時間為基礎,retentionValue 參數就會指定從目前日期開始要在交易歷程記錄資料表中保留資料列的天數。在保留日期當日或之後修改的任何資料列都會保留。不過,系統會刪除在保留日期之前修改的任何資料列。
以 CSN 為基礎的清除。這種清除類型也稱為以交易為基礎的清除。如果清除是以 CSN 為基礎,retentionValue 參數就會指定要在交易歷程記錄資料表中保留資料列之最後一筆交易的交易認可序號 (CSN)。當交易最後一次修改資料列時,如果該筆交易的 CSN 大於或等於指定的 CSN,就會保留這些資料列。不過,如果最後一次修改這些資料列之交易的 CSN 小於指定的 CSN,就會刪除這些資料列。您可以透過呼叫 GetLastCommittedCsn 方法,取得資料來源的目前 CSN (指派給要認可之最後一筆交易的 CSN)。
注意
CSN 是一個單純遞增的計數器,這個計數器會由資料庫在交易認可時指派給每筆交易 (資料庫編列於其中)。CSN 可唯一識別每筆交易認可相對於其他交易 (資料庫也編列於其中) 認可的順序。
如需有關執行以時間為基礎的清除與以 CSN 為基礎的清除之間差異的詳細資訊,請參閱 PurgeType 列舉的主題。