Définir la période d’expiration des abonnements

S’applique à :SQL ServerAzure SQL Managed Instance

Cette rubrique explique comment définir la période d’expiration des abonnements dans SQL Server à l’aide de SQL Server Management Studio ou de Transact-SQL. La période d'expiration des abonnements détermine le temps qui précède l'expiration et la suppression d'un abonnement. Pour plus d’informations, voir Subscription Expiration and Deactivation.

Dans cette rubrique

Avant de commencer

Recommandations

  • La période d'expiration de l'abonnement est également nommée période de rétention de la publication. Le nettoyage des métadonnées des réplications de fusion dépend de ce paramètre :

    • La réplication ne peut pas nettoyer les métadonnées dans les bases de données de publication et d'abonnement tant que la période de rétention n'est pas achevée. Soyez prudent si vous spécifiez une longue période de rétention, car cela peut affecter négativement les performances de réplication. Vous avez intérêt à spécifier une valeur faible si vous êtes certain que tous les Abonnés procéderont régulièrement à la synchronisation dans ce délai.

      La période de rétention pour les publications de fusion offre un délai de grâce de 24 heures pour tenir compte des Abonnés situés dans différents fuseaux horaires. Si, par exemple, vous définissez une période de rétention d'un jour, la période de rétention réelle est de 48 heures.

    • Il est possible de spécifier que les abonnements n'expirent jamais, mais ceci est fortement déconseillé car les métadonnées ne pourront pas être nettoyées.

Utilisation de SQL Server Management Studio

Définissez la période d’expiration des abonnements dans la page Général de la boîte de dialogue Propriétés de publication - <Publication>. Pour plus d'informations sur l'accès à cette boîte de dialogue, consultez Afficher et modifier les propriétés d’un serveur de publication.

Pour définir la période d'expiration des abonnements

  1. Dans la section Expiration de l’abonnement dans la page Général de la boîte de dialogue Propriétés de publication - <Publication>, spécifiez si les abonnements doivent expirer.

  2. S'il doit expirer, spécifiez un délai d'expiration.

Utilisation de Transact-SQL

Vous pouvez utiliser des procédures stockées de réplication pour définir cette valeur lorsqu'une publication est créée ou pour modifier cette valeur ultérieurement.

Pour définir la période d'expiration d'un abonnement à une publication transactionnelle ou d'instantané

  1. Sur le serveur de publication, exécutez sp_addpublication. Spécifiez la période de l'expiration de l'abonnement souhaitée, en heures, pour @retention. La période d'expiration par défaut est de 336 heures. Pour plus d’informations, voir Create a Publication.

Pour définir la période d'expiration d'un abonnement à une publication de fusion

  1. Sur le serveur de publication, exécutez sp_addmergepublication. Spécifiez la période d'expiration de l'abonnement en affectant la valeur de votre choix à @retention. Spécifiez les unités dans lesquelles la période d'expiration est exprimée pour @retention_period_unit; les unités possibles sont les suivantes :

    • 1 = semaine

    • 2 = mois

    • 3 = année

    La période d'expiration par défaut est de 14 jours. Pour plus d’informations, voir Create a Publication.

Pour modifier la période d'expiration d'un abonnement à une publication transactionnelle ou d'instantané

  1. Sur le serveur de publication, exécutez sp_changepublication. Spécifiez retention pour @property et la nouvelle période d'expiration de l'abonnement, en heures, pour @value.

Pour modifier la période d'expiration d'un abonnement à une publication de fusion

  1. Sur le serveur de publication, exécutez sp_helpmergepublication, en spécifiant @publication et @publisher. Notez la valeur de retention_period_unit dans le jeu de résultats ; elle peut correspondre à l'une des valeurs suivantes :

    • 0 = jour

    • 1 = semaine

    • 2 = mois

    • 3 = année

  2. Sur le serveur de publication, exécutez sp_changemergepublication. Spécifiez retention pour @property et la nouvelle période d'expiration de l'abonnement, sous forme de texte basé sur l'unité de période de rétention définie à l'étape 1, pour @value.

  3. (Facultatif) Sur le serveur de publication, exécutez sp_changemergepublication. Spécifiez retention_period_unit pour @property et une nouvelle unité pour la période d'expiration de l'abonnement pour @value.

Voir aussi

Concepts liés aux procédures stockées système de réplication
Expiration et désactivation des abonnements