Método PurgeTombstoneTableData
Limpa os dados da marca de exclusão da tabela especificada.
Namespace: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (em System.Data.SqlServerCe.dll)
Sintaxe
'Declaração
Public Sub PurgeTombstoneTableData ( _
tableName As String, _
pType As PurgeType, _
retentionValue As Long _
)
'Uso
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
)
Parâmetros
- tableName
Tipo: System. . :: . .String
O nome da tabela cujos dados de marcas de exclusão devem ser excluídos.
- pType
Tipo: System.Data.SqlServerCe. . :: . .PurgeType
Um dos valores de PurgeType que especifica se a limpeza se baseia em tempo ou no número de sequência de confirmação (CSN) da última transação para modificar os dados de marca para exclusão.
- retentionValue
Tipo: System. . :: . .Int64
Um número que especifica o limite até o qual as linhas de marca de exclusão devem ser retidas. No caso da limpeza com base em tempo, o parâmetro especifica o número de dias da data presente para a qual dados de marca para exclusã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 devem ser retidos dados de marca para exclusão.
Exceções
Exceção | Condição |
---|---|
ArgumentOutOfRangeException | retentionValue é menor que zero. - ou - purgeType não é um valor PurgeType válido. |
Comentários
O método PurgeTombstoneTableData exclui (limpa) linhas da tabela de marcas de exclusão (__sysOCSDeletedRows). Quando são excluídas linhas de uma tabela controlada, a infraestrutura de controle move as linhas excluídas para a tabela de marcas de exclusão. Com o tempo, essa tabela pode crescer muito pois a infraestrutura de controle usa a tabela de marcas de exclusão para manter linhas excluídas de todas as tabelas controladas no sistema. Você pode usar o método PurgeTombstoneTableData para limitar o tamanho da tabela de marcas de exclusão limpando linhas periodicamente nela.
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 marcas para exclusão. Qualquer linha na tabela especificada que tenha sido excluída em ou depois da data de retenção será retida na tabela de marcas de exclusão; qualquer linha que excluída antes da data de retenção será excluída da tabela de marcas de exclusão.
Uma limpeza com base em CSN. Esse tipo de limpeza também é conhecido como uma limpeza com base em transação. No caso de uma limpeza com base em CSN, o parâmetro retentionValue especifica o número de sequência de confirmação da transação (CSN) da última transação para a qual linhas devem ser retidas na tabela de marcas de exclusão. Qualquer linha que tenha sido excluída da tabela especificada por uma transação com um CSN que é maior que ou igual ao CSN especificado é retida na tabela de marcas de exclusão; a linhas excluídas por uma transação com um CSN menor que o CSN especificado são excluídas da tabela de marcas de exclusão. 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.