Condividi tramite


Metodo PurgeTombstoneTableData

Elimina i dati tombstone per la tabella specificata.

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

Sintassi

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

Parametri

  • retentionValue
    Tipo: System. . :: . .Int64
    Numero che specifica il limite massimo per il mantenimento delle righe tombstone. 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 tombstone. Nel caso di un'eliminazione basata su CSN, il parametro specifica il CSN dell'ultima transazione in base al quale mantenere i dati tombstone.

Eccezioni

Eccezione Condizione
ArgumentOutOfRangeException

Il parametro retentionValue è minore di zero.

oppure

purgeType non è un valore di PurgeType valido.

Osservazioni

Il metodo PurgeTombstoneTableData elimina le righe dalla tabella tombstone (__sysOCSDeletedRows). Quando le righe vengono eliminate da una tabella con rilevamento, l'infrastruttura di rilevamento sposta le righe eliminate nella tabella tombstone. Nel tempo, le dimensioni di questa tabella possono diventare piuttosto grandi poiché l'infrastruttura di rilevamento utilizza la tabella tombstone per conservare le righe eliminate per tutte le tabelle con rilevamento nel sistema. È possibile utilizzare il metodo PurgeTombstoneTableData per limitare le dimensioni della tabella tombstone eliminando periodicamente delle righe.

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 tombstone. Qualsiasi riga della tabella specificata eliminata durante o dopo la data di memorizzazione viene conservata nella tabella tombstone, mentre qualsiasi riga eliminata prima della data di memorizzazione viene eliminata dalla tabella tombstone.

  • 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 tombstone. Qualsiasi riga eliminata dalla tabella specificata da una transazione con un CSN maggiore o uguale al CSN specificato viene mantenuta nella tabella tombstone, mentre le righe eliminate da una transazione con un CSN minore del CSN specificato vengono eliminate dalla tabella tombstone. 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