Réinitialisation d'un abonnement

La réinitialisation d'un abonnement nécessite l'application d'une nouvelle capture instantanée d'un ou plusieurs articles à un ou plusieurs Abonnés : la réplication transactionnelle et de capture instantanée permet à des articles individuels d'être réinitialisés ; la réplication de fusion nécessite que tous les articles soient réinitialisés. Les nœuds d'une topologie de réplication transactionnelle d'égal à égal ne peuvent pas être réinitialisés. Si vous voulez être certain qu'un nœud dispose d'une nouvelle copie des données, restaurez une sauvegarde sur le nœud. Une réinitialisation se produit pour l'une de ces deux raisons :

  • Vous marquez explicitement un abonnement pour réinitialisation.

  • Vous effectuez une action, par exemple une modification de propriété, qui nécessite une réinitialisation. Pour plus d'informations sur les actions qui nécessitent une réinitialisation, consultez Modification des propriétés des publications et des articles.

Dans les deux cas, la capture instantanée la plus récente est appliquée à l'Abonné lors de l'exécution suivante de l'Agent de distribution ou de l'Agent de fusion. Pour la réplication de capture instantanée et la réplication transactionnelle, quand une réinitialisation se produit, toutes les modifications effectuées sur l'Abonné qui ne sont pas encore synchronisées avec le serveur de publication sont écrasées par l'application de la nouvelle capture instantanée.

Pour la réplication de fusion, vous pouvez choisir de charger à partir de l'Abonné toutes les modifications apportées aux données avant d'appliquer la capture instantanée. Toutes les modifications de schéma en attente provenant du serveur de publication sont appliquées à l'Abonné, puis toutes les modifications qui ont été effectuées sur l'Abonné depuis la dernière synchronisation sont propagées vers le serveur de publication avant que la capture instantanée soit réappliquée. Ce fonctionnement est contrôlé par les propriétés upload_first et automatic_reinitialization_policy ; pour plus d'informations, consultez Procédure : réinitialiser un abonnement (programmation Transact-SQL de la réplication). Si vous marquez un abonnement pour réinitialisation à l'aide de SQL Server Management Studio ou du moniteur de réplication, vous pouvez choisir de charger dans la boîte de dialogue Réinitialiser les abonnements de charger d'abord les modifications.

Important

Si vous ajoutez, supprimez ou modifiez un filtre paramétré dans une publication de fusion, les modifications en attente sur l'Abonné ne peuvent pas être chargées sur le serveur de publication au cours de la réinitialisation. Si vous voulez charger les mises à jour en attente, synchronisez tous les abonnements avant de changer le filtre.

Si vous avez précisé qu'il ne fallait appliquer aucune capture instantanée initiale sur l'Abonné au moment de créer l'abonnement et marquez ensuite ce dernier en vue d'une réinitialisation, aucune capture instantanée n'est appliquée. Pour plus d'informations, consultez Initialisation d'un abonnement transactionnel sans capture instantanée et Initialisation d'une réplication de fusion sans instantané.

Pour réinitialiser un abonnement

Pour réinitialiser tous les articles d'un abonnement, utilisez SQL Server Management Studio, des procédures stockées ou RMO (Replication Management Objects). Pour réinitialiser des articles individuels dans des publications de capture instantanée et transactionnelles, vous devez utiliser des procédures stockées.