Establecer el período de expiración para las suscripciones

Se aplica a:SQL ServerAzure SQL Managed Instance

En este tema se describe cómo establecer el periodo de expiración de las suscripciones en SQL Server mediante SQL Server Management Studio o Transact-SQL. El período de expiración de las suscripciones determina el tiempo que debe transcurrir antes de que una suscripción expire y se quite. Para más información, consulte Subscription Expiration and Deactivation.

En este tema

Antes de empezar

Recomendaciones

  • El período de expiración de las suscripciones recibe también el nombre de período de retención de la publicación. La limpieza de los metadatos de replicación de mezcla depende de este valor:

    • La replicación no puede limpiar metadatos en las bases de datos de suscripciones y publicaciones hasta que se haya alcanzado el período de retención. Tenga cuidado al especificar un valor elevado para el período de retención, ya que puede afectar negativamente al rendimiento de la replicación. 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.

      El período de retención de las publicaciones de combinación tiene un período de gracia de 24 horas para incluir a los suscriptores en diferentes zonas horarias. Si, por ejemplo, se establece un período de retención de un día, el período de retención real será de 48 horas.

    • Es posible especificar que las suscripciones no expiren nunca, pero se recomienda encarecidamente no utilizar ese valor, ya que los metadatos no se podrían limpiar.

Uso de SQL Server Management Studio

Establezca el periodo de expiración de las suscripciones en la página General del cuadro de diálogo Propiedades de la publicación: <Publicación>. Para obtener más información sobre el acceso a este cuadro de diálogo, vea View and Modify Publication Properties.

Para establecer el período de expiración para las suscripciones

  1. En la sección Expiración de la suscripción de la página General del cuadro de diálogo Propiedades de la publicación: <Publicación>, especifique si las suscripciones deben expirar.

  2. Si deben expirar, especifique un período de expiración.

Usar Transact-SQL

Puede utilizar los procedimientos almacenados de replicación para establecer este valor cuando se crea una publicación o para modificar este valor en un momento posterior.

Para establecer el período de expiración de una suscripción en una instantánea o una publicación transaccional

  1. En el publicador, ejecute sp_addpublication. Especifique el período de expiración deseado para la suscripción, en horas, para @retention. El período de expiración predeterminado es 336 horas. Para obtener más información, vea Crear una suscripción.

Para establecer el período de expiración de una suscripción en una publicación de combinación

  1. En el publicador, ejecute sp_addmergepublication. Especifique el valor deseado para el período de expiración de la suscripción en @retention. Especifique las unidades en las que se expresa el período de expiración para @retention_period_unit, que pueden ser unas de las siguientes:

    • 1 = semana

    • 2 = mes

    • 3 = año

    El período de expiración predeterminado es 14 días. Para obtener más información, vea Crear una suscripción.

Para cambiar el período de expiración de una suscripción a una instantánea o una publicación transaccional

  1. En el publicador, ejecute sp_changepublication. Especifique retención para @property y el nuevo período de expiración de suscripción, en horas, para @value.

Para cambiar el período de expiración de una suscripción a una publicación de combinación

  1. En el publicador, ejecute sp_helpmergepublication, especificando @publication y @publisher. Tenga en cuenta el valor de retention_period_unit en el conjunto de resultados, que puede ser uno de los siguientes:

    • 0 = día

    • 1 = semana

    • 2 = mes

    • 3 = año

  2. En el publicador, ejecute sp_changemergepublication. Especifique retención para @property y el nuevo período de expiración de suscripción, como texto basado en la unidad de período de retención del paso 1, para @value.

  3. (Opcional) En el publicador, ejecute sp_changemergepublication. Especifique retention_period_unit para @property y una nueva unidad para el período de expiración de la suscripción en @value.

Consulte también

Conceptos de procedimientos almacenados del sistema de replicación
Desactivación y expiración de la suscripción