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