Share via


Enumeración PurgeType

Especifica los criterios que se utilizan para purgar los metadatos cuando se usa el método PurgeTombstoneTableData o el método PurgeTransactionSequenceData de la clase SqlCeChangeTracking.

Espacio de nombres:  System.Data.SqlServerCe
Ensamblado:  System.Data.SqlServerCe (en System.Data.SqlServerCe.dll)

Sintaxis

'Declaración
Public Enumeration PurgeType
'Uso
Dim instance As PurgeType
public enum PurgeType
public enum class PurgeType
type PurgeType
public enum PurgeType

Miembros

Nombre del miembro Descripción
None Este valor está reservado para su uso por parte de la infraestructura de seguimiento. No lo utilice en el código.
TimeBased Especifica que los metadatos se eliminen dependiendo de si son anteriores a un número de días especificado.
CsnBased Especifica que los metadatos se eliminen en función del número de secuencia de confirmación (CSN) de la última transacción que los modificó.
Max Este valor está reservado para su uso por parte de la infraestructura de seguimiento. No lo utilice en el código.

Comentarios

Una purga basada en el tiempo elimina los metadatos cuando estos son anteriores a un número específico de días. Por ejemplo, en una aplicación que utiliza el seguimiento para implementar la sincronización, los datos de seguimiento ya no se necesitan una vez que se han sincronizado en el servidor (o en un conjunto de equipos del mismo nivel). La aplicación podría conservar solo los datos del seguimiento durante un número específico de días (n) e imponer una restricción para que los usuarios se sincronicen con el servidor (o con un conjunto de equipos del mismo nivel) al menos cada n días.

Una purga basada en CSN elimina los metadatos, cuando una transacción los modifica por última vez, con un CSN menor o igual que un CSN especificado. El CSN asociado a una fila indica el orden de confirmación de las transacciones en las que se ha dado de alta la base de datos. En una purga basada en CSN, los datos se eliminan en función de la secuencia de confirmación y no en función del tiempo. Por ejemplo, si una fila fue modificada por última vez por una transacción que se confirmó hace 100 transacciones desde la fecha actual, es posible que ya no se necesite.

La limpieza basada en CSN tiene sentido porque los cambios realizados por las transacciones solo están visibles a una aplicación una vez confirmada la transacción. Por ejemplo, una aplicación de notificaciones con seguimiento de cambios solo puede notificar a los suscriptores los cambios después de que se confirme la transacción que ha cambiado los datos. La aplicación podría conservar un búfer de las últimas 100 transacciones para que los suscriptores puedan responder a las notificaciones, y purgar las anteriores a estas.

Una purga basada en el tiempo no es equivalente a una purga basada en CSN porque la marca de tiempo de una fila se asigna durante la inserción o actualización. En el caso de una transacción que se ejecute durante un período prolongado, el tiempo de confirmación puede diferir considerablemente del valor de marca de tiempo de la fila modificada. Una purga basada en CSN no elimina los metadatos hasta que se confirma la transacción.

Vea también

Referencia

Espacio de nombres System.Data.SqlServerCe

PurgeTombstoneTableData

PurgeTransactionSequenceData