Partilhar via


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.

Consulte também

Referência

SqlCeChangeTracking Classe

Membros SqlCeChangeTracking

Namespace System.Data.SqlServerCe

PurgeType

GetLastCommittedCsn