Partilhar via


Enumeração PurgeType

Especifica os critérios a serem usados para limpar metadados ao usar o método PurgeTombstoneTableData ou o método PurgeTransactionSequenceData da classe SqlCeChangeTracking.

Namespace:  System.Data.SqlServerCe
Assembly:  System.Data.SqlServerCe (em System.Data.SqlServerCe.dll)

Sintaxe

'Declaração
Public Enumeration PurgeType
'Uso
Dim instance As PurgeType
public enum PurgeType
public enum class PurgeType
type PurgeType
public enum PurgeType

Membros

Nome do membro Descrição
None Este valor é reservado para uso pela infraestrutura de controle. Não use-o em seu código.
TimeBased Especifica que metadados serão excluídos com base no fato de eles serem anteriores a um determinado número de dias.
CsnBased Especifica que metadados serão excluídos com base no Número de Sequência de Confirmação (CSN) da última transação que modificou-o.
Max Este valor é reservado para uso pela infraestrutura de controle. Não use-o em seu código.

Comentários

A limpeza com base em tempo exclui os metadados quando eles são anteriores a um determinado número de dias. Por exemplo, em um aplicativo que usa o acompanhamento para implementar a sincronização, dados de acompanhamento não são mais necessários após a sincronização dos dados para o servidor (ou um conjunto de pares). O aplicativo pode reter apenas dados de acompanhamento para um número específico de dias (n) e impor uma restrição sobre usuários que eles sincronizem com o servidor (ou o conjunto de pares) pelo menos a cada n dias.

Uma limpeza baseada em CSN exclui os metadados, quando os metadados são modificados por último por uma transação, com um CSN que é menor ou igual a um CSN especificado. O CSN associado com uma linha indica a ordem de confirmação das transações nas quais o banco de dados foi inscrito. Em uma limpeza baseada em CSN, os dados são excluídos com base na sequência de confirmação, e não na sequência de hora. Por exemplo, se uma linha foi modificada por último por uma transação que confirmou 100 transações passadas antes da hora atual, talvez ela não seja mais necessária.

A limpeza com base em CSN faz sentido porque as alterações feitas por transações são visíveis a um aplicativo apenas depois da confirmação da transação. Por exemplo, um aplicativo de notificações criado no controle de alterações só pode notificar assinantes sobre alterações depois de uma transação que alterou confirmações de dados. O aplicativo pode reter um buffer das últimas 100 transações, permitir que assinantes respondam às notificações, e limpar qualquer coisa anterior a isso.

Uma limpeza com base em hora não equivale a um limpeza com base em CSN pois o carimbo de data/hora de uma linha é atribuído no momento de uma inserção ou atualização. No caso de uma transação em execução longa, a hora de confirmação pode diferir significativamente do valor de carimbo de data/hora da linha modificada. Uma limpeza com base em CSN só exclui metadados depois da confirmação da transação.

Consulte também

Referência

Namespace System.Data.SqlServerCe

PurgeTombstoneTableData

PurgeTransactionSequenceData