Définir la période d’expiration des abonnements
S’applique à : SQL Server Azure SQL Managed Instance
Cette rubrique décrit comment définir la période d'expiration des abonnements dans SQL Server en utilisant SQL Server Management Studio ou 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 :
Pour définir la période d'expiration des abonnements à l'aide de :
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 la 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
Dans la section Expiration de l’abonnement de la page Général de la boîte de dialogue Propriétés de la publication - <Publication>, spécifiez si l’abonnement doit expirer.
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é
- 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
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é
- 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
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
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.
(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.