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
)

参数

  • 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 枚举的主题。

请参阅

参考

SqlCeChangeTracking类

SqlCeChangeTracking 成员

System.Data.SqlServerCe 命名空间

PurgeType

GetLastCommittedCsn