Condividi tramite


Metodo PurgeTransactionSequenceData

Elimina i dati specificati dalla tabella della cronologia transazioni.

Spazio dei nomi:  System.Data.SqlServerCe
Assembly:  System.Data.SqlServerCe (in System.Data.SqlServerCe.dll)

Sintassi

'Dichiarazione
Public Sub PurgeTransactionSequenceData ( _
    pType As PurgeType, _
    retentionValue As Long _
)
'Utilizzo
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
)

Parametri

  • pType
    Tipo: System.Data.SqlServerCe. . :: . .PurgeType
    Uno dei valori dell'oggetto PurgeType che specifica se l'eliminazione è basata sul tempo o sul numero di sequenza del commit (CSN) dell'ultima transazione per modificare i dati della cronologia transazioni.
  • retentionValue
    Tipo: System. . :: . .Int64
    Numero che specifica il limite massimo per il mantenimento delle righe. Nel caso di un'eliminazione basata sul tempo, il parametro specifica il numero di giorni dalla data corrente in base al quale mantenere i dati della cronologia transazioni. Nel caso di un'eliminazione basata su CSN, il parametro specifica il CSN dell'ultima transazione in base al quale mantenere i dati della cronologia transazioni.

Eccezioni

Eccezione Condizione
ArgumentOutOfRangeException

Il parametro retentionValue è minore di zero.

oppure

purgeType non è un valore di PurgeType valido.

Osservazioni

Durante il commit delle transazioni, viene inserita una voce nella tabella della cronologia transazioni (__sysTxCommitSequence) che contiene informazioni di rilevamento correlate alla transazione. È possibile limitare le dimensioni di questa tabella eliminando le righe per le transazioni che non sono più importanti per l'applicazione.

Tramite il parametro pType è possibile specificare uno di due tipi di eliminazioni:

  • Eliminazione basata sul tempo. Nel caso di un'eliminazione basata sul tempo, il parametro retentionValue specifica il numero di giorni dalla data corrente in base al quale le righe vengono mantenute nella tabella della cronologia transazioni. Qualsiasi riga modificata durante o dopo la data di memorizzazione viene conservata, mentre le righe modificate prima della data di memorizzazione vengono eliminate.

  • Eliminazione basata su CSN. Questo tipo di eliminazione è anche noto come eliminazione basata su transazione. Nel caso di un'eliminazione basata su CSN, il parametro retentionValue specifica il CSN dell'ultima transazione in base al quale mantenere le righe nella tabella della cronologia transazioni. Le righe la cui ultima modifica è stata apportata da una transazione con un CSN maggiore o uguale al CSN specificato vengono mantenute, mentre le righe la cui ultima modifica è stata apportata da una transazione con un CSN minore del CSN specificato vengono eliminate. Il CSN corrente per un'origine dati (CSN assegnato all'ultima transazione da sottoporre a commit) può essere ottenuto chiamando il metodo GetLastCommittedCsn.

    Nota

    Il CSN è un contatore a incremento progressivo assegnato dal database a ogni transazione (in cui il database è integrato) durante il commit. Il CSN identifica in modo univoco la sequenza di commit di ogni transazione rispetto alle altre transazioni che sono state sottoposte a commit in cui è stato anche integrato il database.

Per ulteriori informazioni sulle differenze tra l'esecuzione di un'eliminazione basata sul tempo e di una basata su CSN, vedere l'argomento per l'enumerazione PurgeType.

Vedere anche

Riferimento

SqlCeChangeTracking Classe

Membri SqlCeChangeTracking

Spazio dei nomi System.Data.SqlServerCe

PurgeType

GetLastCommittedCsn