Desactivación y caducidad de las suscripciones
Las suscripciones se pueden desactivar o pueden caducar si no se sincronizan en un período de retención especificado. La acción que se produce depende del tipo de réplica y del período de retención que se supere.
Para establecer períodos de retención
- SQL Server Management Studio: Cómo configurar el período de caducidad para las suscripciones (SQL Server Management Studio) y Cómo establecer el período de retención de distribución para las publicaciones transaccionales (SQL Server Management Studio)
- Transact-SQL de réplica: How to: Set the Expiration Period for Subscriptions (Replication Transact-SQL Programming) y How to: Configure Publishing and Distribution (Replication Transact-SQL Programming)
Réplica transaccional
La réplica transaccional utiliza el período máximo de retención de distribución (el parámetro @max_distretention de sp_adddistributiondb (Transact-SQL)) y el período de retención de la publicación (el parámetro @retention de sp_addpublication (Transact-SQL)):
- Si una suscripción no se sincroniza dentro del período máximo de retención de distribución (el valor predeterminado es de 72 horas) y existen cambios en la base de datos de distribución que no se han entregado al suscriptor, el trabajo Limpieza de la distribución que se ejecuta en el distribuidor marcará la suscripción como desactivada. Debe reinicializarse la suscripción.
- Si una suscripción no se sincroniza dentro del período de retención de la publicación (el valor predeterminado es de 336 horas), la suscripción caducará y el trabajo Limpieza de suscripciones caducadas que se ejecuta en el publicador quitará la suscripción. La suscripción se debe volver a crear y sincronizar.
Si una suscripción de inserción caduca, se quita completamente, pero esto no sucede con las suscripciones de extracción. Debe limpiar las suscripciones de extracción en el suscriptor. Para obtener más información, vea How to: Delete a Pull Subscription (Replication Transact-SQL Programming).
Réplica de mezcla
La réplica de mezcla utiliza el período de retención de la publicación (los parámetros de @retention y @retention_period_unit de sp_addmergepublication (Transact-SQL)). Cuando una suscripción caduca, debe reinicializarse, porque se quitan los metadatos de la suscripción. Los suscripciones que no se reinicializan se quitan con el trabajo Limpieza de suscripciones caducadas que se ejecuta en el publicador. De forma predeterminada, este trabajo se ejecuta diariamente; quita todas las suscripciones de inserción que no se han sincronizado una vez transcurrido el doble de tiempo del período de retención de la publicación. Por ejemplo:
- Su una publicación tiene un período de retención de 14 días, una suscripción puede caducar si no se ha sincronizado en 14 días.
Si el publicador ejecuta SQL Server 2005 y el agente para la suscripción es de SQL Server 2005, una suscripción sólo caduca si existen cambios en los datos de esa partición de la suscripción. Por ejemplo, suponga que un suscriptor recibe datos exclusivamente de los clientes de Alemania. Si el período de retención está establecido en 14 días, la suscripción caduca el día 14 sólo si se han producido cambios en los datos de los clientes alemanes en los últimos 14 días. - Desde los días 14 a 27 después de la última sincronización, la suscripción se puede reinicializar.
- Transcurridos 28 días desde la última sincronización, el trabajo Limpieza de suscripciones caducadas quita la suscripción. Si una suscripción de inserción caduca, se quita completamente, pero esto no sucede con las suscripciones de extracción. Debe limpiar las suscripciones de extracción en el suscriptor. Para obtener más información, vea How to: Delete a Pull Subscription (Replication Transact-SQL Programming).
Consideraciones para establecer el período de retención de publicaciones de mezcla
Tenga en cuenta las siguientes consideraciones al establecer el período de retención de publicaciones de mezcla:
- El período de retención de las publicaciones de mezcla tiene un período de gracia de 24 horas para incluir a los suscriptores en diferentes zonas horarias. Por ejemplo, si se establece un período de retención de un día, el período de retención real es de 48 horas.
- La limpieza de los metadatos de la réplica de mezcla depende del período de retención de la publicación:
- La réplica no puede limpiar metadatos en las bases de datos de publicaciones y suscripciones hasta que se alcanza el período de retención. Tenga cuidado al especificar un valor alto en el período de retención, porque puede tener un impacto negativo en el rendimiento de la réplica. Se recomienda utilizar un valor bajo si puede prever con exactitud que todos los suscriptores se sincronizarán con regularidad dentro del período establecido.
- Es posible especificar que las suscripciones no caduquen nunca (el valor 0 para @retention), pero se recomienda que no utilice este valor, porque los metadatos no se podrán limpiar.
- El período de retención de cualquier republicador debe establecerse en un valor igual o menor que el período de retención establecido en el publicador original. También debe utilizar los mismos valores de retención de la publicación para todos los publicadores y sus asociados de sincronización alternativos. El uso de valores distintos puede conducir a la no convergencia. Si necesita cambiar el valor de retención de la publicación, vuelva a inicializar el suscriptor a fin de evitar la no convergencia de los datos.
- Si después de realizar una limpieza se aumenta el período de retención y se intenta mezclar una suscripción con el publicador (que ya ha eliminado los metadatos), la suscripción no caducará debido al aumento del valor de retención. No obstante, el publicador no tendrá suficientes metadatos para descargar los cambios en el suscriptor, lo que daría lugar a la falta de convergencia.
Vea también
Conceptos
Reinicializar una suscripción
Administrar agentes de réplica
Suscribirse a publicaciones