Définir la méthode de propagation des modifications de données des articles transactionnels
Cette rubrique explique comment définir la méthode de propagation pour les modifications de données apportées aux articles transactionnels dans SQL Server 2014 à l’aide de SQL Server Management Studio ou de Transact-SQL.
Par défaut, la réplication transactionnelle propage les modifications vers les Abonnés à l'aide d'un ensemble de procédures stockées pour chaque article. Vous pouvez remplacer ces procédures par des procédures personnalisées. Pour plus d’informations, consultez Spécifier le mode de propagation des modifications des articles transactionnels.
Dans cette rubrique
Avant de commencer :
Pour définir la méthode de propagation des modifications de données d'articles transactionnels à l'aide de :
Avant de commencer
Limitations et restrictions
- La modification des fichiers d'instantanés générés par la réplication nécessite la plus grande prudence. Vous devez tester et prendre en charge la logique personnalisée dans les procédures stockées personnalisées. Microsoft ne prend pas en charge la logique personnalisée.
Utilisation de SQL Server Management Studio
Spécifiez la méthode de propagation sous l’onglet Propriétés de la boîte de dialogue Propriétés de l’article - <Article> , qui est disponible dans l’Assistant Nouvelle publication et la boîte de dialogue Propriétés de la publication - <Publication> . Pour plus d’informations sur l’utilisation de l’Assistant et sur l’accès à la boîte de dialogue, consultez Créer une publication et Afficher et modifier les propriétés d’une publication.
Pour spécifier la méthode de propagation
Dans la page Articles de l’Assistant Nouvelle publication ou de la boîte de dialogue Propriétés de la publication - <Publication> , sélectionnez une table, puis cliquez sur Propriétés de l’article.
Cliquez sur Définir les propriétés de l'article de Table en surbrillance.
Sous l’onglet Propriétés de la boîte de dialogue Propriétés de l’article - <Article> , dans la section Remise d’instruction , spécifiez la méthode de propagation pour chaque opération à l’aide des menus Format de remise INSERT, Format de remise UPDATE et FORMAT de remise DELETE .
Cliquez sur OK.
Si vous êtes dans la boîte de dialogue Propriétés de la publication - <Publication> , cliquez sur OK pour enregistrer et fermer la boîte de dialogue.
Pour générer et utiliser des procédures stockées personnalisées
Dans la page Articles de l’Assistant Nouvelle publication ou de la boîte de dialogue Propriétés de la publication - <Publication> , sélectionnez une table, puis cliquez sur Propriétés de l’article.
Cliquez sur Définir les propriétés de l'article de Table en surbrillance.
Sous l’onglet Propriétés de la boîte de dialogue Propriétés de l’article - <Article> , dans la section Remise d’instruction , sélectionnez la syntaxe CALL dans le menu de format de remise approprié (format de remise INSERT, format de remise UPDATE ou format de remise DELETE), puis tapez le nom de la procédure à utiliser dans la procédure stockée INSERT, la procédure stockée DELETE ou la procédure stockée UPDATE. Pour plus d’informations sur la syntaxe CALL, consultez la section « Syntaxe d’appel des procédures stockées » dans Spécifier le mode de propagation des modifications des articles transactionnels.
Cliquez sur OK.
Si vous êtes dans la boîte de dialogue Propriétés de la publication - <Publication> , cliquez sur OK pour enregistrer et fermer la boîte de dialogue.
Lorsque l'instantané de la publication est généré, il inclut la procédure spécifiée à l'étape précédente. Les procédures utilisent la syntaxe CALL spécifiée, mais incluent également la logique par défaut utilisée par la réplication.
Une fois l'instantané généré, accédez au dossier d'instantanés de la publication à laquelle cet article appartient, puis recherchez le fichier .sch dont le nom est identique à celui de l'article. Ouvrez ce fichier à l'aide du Bloc-notes ou d'un autre éditeur de texte, recherchez la commande CREATE PROCEDURE pour les procédures stockées INSERT, UPDATE ou DELETE, puis modifiez la définition de la procédure pour fournir une logique personnalisée de propagation des modifications de données. Si l'instantané est régénéré, vous devez recréer la procédure personnalisée.
Utilisation de Transact-SQL
La réplication transactionnelle vous permet de contrôler comment les modifications sont propagées du serveur de publication aux Abonnés et cette méthode de propagation peut être définie par programme lorsqu'un article est créé et modifié ultérieurement à l'aide de procédures stockées de réplication.
Notes
Vous pouvez spécifier une méthode de propagation différente pour chaque type d'opération DML (Data Manipulation Language) (insertion, mise à jour ou suppression) effectué sur une ligne de données publiées.
Pour plus d’informations, consultez Spécifier le mode de propagation des modifications des articles transactionnels.
Pour créer un article qui utilise des commandes Transact-SQL pour propager des modifications de données
Exécutez sp_addarticlesur la base de données de publication du serveur de publication. Spécifiez le nom de la publication à laquelle appartient l’article pour @publication, un nom pour l’article pour @article, l’objet de base de données publié pour @source_object et la valeur SQL pour au moins l’un des paramètres suivants :
@ins_cmd : contrôle la réplication des commandes INSERT .
@upd_cmd : contrôle la réplication des commandes UPDATE .
@del_cmd : contrôle la réplication des commandes DELETE .
Notes
Lorsque vous spécifiez une valeur SQL pour l’un des paramètres ci-dessus, les commandes de ce type sont répliquées sur l’Abonné en tant que commande Transact-SQL appropriée.
Pour plus d’informations, consultez définir un Article.
Pour créer un article qui ne propage pas les modifications de données
Exécutez sp_addarticlesur la base de données de publication du serveur de publication. Spécifiez le nom de la publication à laquelle appartient l’article pour @publication, un nom pour l’article pour @article, l’objet de base de données publié pour @source_object et la valeur NONE pour au moins l’un des paramètres suivants :
@ins_cmd : contrôle la réplication des commandes INSERT .
@upd_cmd : contrôle la réplication des commandes UPDATE .
@del_cmd : contrôle la réplication des commandes DELETE .
Notes
Lors de la spécification de la valeur NONE pour un des paramètres ci-dessus, les commandes de ce type ne seront pas répliquées sur l'Abonné.
Pour plus d’informations, consultez définir un Article.
Pour créer un article avec des procédures stockées personnalisées modifiées par utilisateur
Exécutez sp_addarticlesur la base de données de publication du serveur de publication. Spécifiez le nom de la publication à laquelle appartient l’article pour @publication, un nom pour l’article pour @article, l’objet de base de données publié pour @source_object, une valeur pour le masque de bits @schema_option qui contient la valeur 0x02 (permet la génération automatique de procédures stockées personnalisées) et au moins l’un des paramètres suivants :
@ins_cmd : spécifiez la valeur CALL sp_MSins_article_name, où article_name est la valeur spécifiée pour @article.
@del_cmd : spécifiez la valeur call sp_MSdel_article_name ou XCALL sp_MSdel_article_name, où article_name est la valeur spécifiée pour _*@article**.
@upd_cmd : spécifiez la valeur sp_MSupd_ SCALL article_name, CALL sp_MSupd_article_name, XCALL sp_MSupd__article_name* ou MCALL sp_MSupd_article_name, où article_name est la valeur spécifiée pour @article.
Notes
Pour chacun des paramètres de commande ci-dessus, vous pouvez spécifier votre propre nom pour les procédures stockées que la réplication génère.
Notes
Pour plus d’informations sur la syntaxe CALL, SCALL, XCALL et MCALL, consultez Spécifier le mode de propagation des modifications des articles transactionnels.
Pour plus d’informations, consultez définir un Article.
Une fois l'instantané généré, accédez au dossier d'instantanés de la publication à laquelle cet article appartient, puis recherchez le fichier .sch dont le nom est identique à celui de l'article. Ouvrez ce fichier à l'aide de Notepad.exe, recherchez la commande CREATE PROCEDURE pour les procédures stockées INSERT, UPDATE ou DELETE, puis modifiez la définition de la procédure pour fournir une logique personnalisée de propagation des modifications de données. Pour plus d’informations, consultez Spécifier le mode de propagation des modifications des articles transactionnels.
Pour créer un article avec des scripts personnalisés dans les procédures stockées personnalisées pour propager les modifications de données
Exécutez sp_addarticlesur la base de données de publication du serveur de publication. Spécifiez le nom de la publication à laquelle appartient l’article pour @publication, un nom pour l’article pour @article, l’objet de base de données publié pour @source_object, une valeur pour le masque de bits @schema_option qui contient la valeur 0x02 (permet la génération automatique de procédures stockées personnalisées) et au moins l’un des paramètres suivants :
@ins_cmd : spécifiez la valeur CALL sp_MSins_article_name, où article_name est la valeur spécifiée pour @article.
@del_cmd : spécifiez la valeur call sp_MSdel_article_name ou XCALL sp_MSdel_article_name, où article_name est la valeur spécifiée pour @article.
@upd_cmd : spécifiez la valeur SCALL sp_MSupd_article_name, CALL sp_MSupd_article_name, XCALL sp_MSupd_article_name, MCALL sp_MSupd_article_name, où article_name est la valeur spécifiée pour @article.
Notes
Pour chacun des paramètres de commande ci-dessus, vous pouvez spécifier votre propre nom pour les procédures stockées que la réplication génère.
Notes
Pour plus d’informations sur la syntaxe CALL, SCALL, XCALL et MCALL, consultez Spécifier le mode de propagation des modifications des articles transactionnels.
Pour plus d’informations, consultez définir un Article.
Dans la base de données de publication du serveur de publication, utilisez l'instruction ALTER PROCEDURE pour modifier sp_scriptpublicationcustomprocs afin qu'il retourne un script CREATE PROCEDURE pour les procédures stockées personnalisées INSERT, UPDATE et DELETE. Pour plus d’informations, consultez Spécifier le mode de propagation des modifications des articles transactionnels.
Pour modifier la méthode de propagation des modifications pour un article existant
Exécutez sp_changearticledans la base de données de publication du serveur de publication. Spécifiez @publication, @article, une valeur de ins_cmd, upd_cmd ou del_cmd pour @property et la méthode de propagation appropriée pour @value.
Répétez l'étape 1 pour chaque méthode de propagation à modifier.
Voir aussi
Spécifier le mode de propagation des modifications des articles transactionnels
Créer une publication