Método PurgeTransactionSequenceData
Limpa os dados especificados da tabela de histórico de transações.
Namespace: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (em System.Data.SqlServerCe.dll)
Sintaxe
'Declaração
Public Sub PurgeTransactionSequenceData ( _
pType As PurgeType, _
retentionValue As Long _
)
'Uso
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
)
Parâmetros
- pType
Tipo: System.Data.SqlServerCe. . :: . .PurgeType
Um dos valores de PurgeType que especifica se a limpeza é com base em tempo ou no número de sequência de confirmação (CSN) da última transação para modificar os dados de histórico da transação.
- retentionValue
Tipo: System. . :: . .Int64
Um número que especifica o limite até o qual as linhas devem ser retidas. No caso da limpeza com base em tempo, o parâmetro especifica o número de dias da data presente em que dados de histórico da transação serão retidos. No caso de uma limpeza com base em CSN, o parâmetro especifica o CSN da última transação para a qual dados de histórico da transação devem ser retidos.
Exceções
Exceção | Condição |
---|---|
ArgumentOutOfRangeException | retentionValue é menor que zero. - ou - purgeType não é um valor PurgeType válido. |
Comentários
À medida que as transações são confirmadas, é criada uma entrada na tabela de histórico de transações (__sysTxCommitSequence), que contém informações de controle relevantes para a transação. Você pode limitar o tamanho dessa tabela excluindo linhas das transações que não são mais relevantes ao seu aplicativo.
Você pode especificar um entre dois tipos de limpeza usando o parâmetro pType:
Uma limpeza com base em tempo. No caso da limpeza com base em tempo, o parâmetro retentionValue especifica o número de dias da data atual para a qual linhas são retidas na tabela de histórico de transações. Qualquer linha modificada na data de retenção ou depois da mesma será retida; qualquer linha modificada antes da data de retenção será excluída.
Uma limpeza com base em CSN. Esse tipo de limpeza também é conhecido como uma limpeza com base em transação. No caso da limpeza com base em CSN, o parâmetro retentionValue especifica o número de sequência de confirmação de transação (CSN) ou a última transação para a qual linhas são retidas na tabela de histórico de transações. As linhas modificadas pela última vez por uma transação com um CSN que é maior ou igual ao CSN especificado são retidas; a linhas modificadas pela última vez por uma transação com um CSN menor que o CSN especificado são excluídas. Você pode obter o CSN atual para uma fonte de dados (o CSN atribuído à última transação a ser confirmada) chamando o método GetLastCommittedCsn.
Dica
O CSN é um contador que aumenta de forma monotônica que é atribuído pelo banco de dados a cada transação (em que o banco de dados é inscrito) quando ele é confirmado. O CSN identifica exclusivamente a sequência na qual cada transação foi confirmada em relação a outras transações que foram confirmadas e em que o banco de dados também foi inscrito.
Para obter mais informações sobre as diferenças entre uma limpeza com base em tempo e uma limpeza com base em CSN, consulte o tópico da enumeração PurgeType.