Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Managed Instance
Cette rubrique décrit comment définir la méthode de propagation des modifications de données aux articles transactionnels dans SQL Server en utilisant SQL Server Management Studio ou 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.
Limitations et restrictions
- La modification de tout fichier d’instantané généré par la réplication doit être effectuée avec la plus grande prudence. Testez et prenez en charge la logique personnalisée dans les procédures stockées personnalisées. Microsoft n'assure pas le support de la logique personnalisée.
Utilisation de SQL Server Management Studio
Spécifiez la méthode de propagation dans l’onglet Propriétés de la boîte de dialogue Propriétés de l’article - <Article>, accessible dans New Publication Wizard et dans 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 New Publication Wizard ou la boîte de dialogue Propriétés de la publication – <Publication>, sélectionnez une table et cliquez sur Propriétés de l'article.
Sélectionnez Définir les propriétés de l'article de tableau sélectionné.
Dans l’onglet Propriétés de la boîte de dialogue Propriétés de l'article - <Article>, dans la section Distribution des instructions, indiquez la méthode de propagation pour chaque opération à l’aide des menus INSERTformat de distribution, UPDATEformat de distribution et DELETEformat de distribution.
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 New Publication Wizard ou la boîte de dialogue Propriétés de la publication – <Publication>, sélectionnez une table et cliquez sur Propriétés de l'article.
Sélectionnez Définir les propriétés de l'article de tableau sélectionné.
Dans 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 du format de remise approprié (INSERTFormat de remise , UPDATEFormat de remise , ou DELETEFormat de remise ), puis tapez le nom de la procédure à utiliser dans INSERTProcédure stockée , DELETEProcédure stockée , ou UPDATEProcédure stockée . 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 CREATE PROCEDURE commande pour les procédures stockées d’insertion, de mise à jour ou de suppression, puis modifiez la définition de procédure pour fournir une logique personnalisée pour propager les 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.
Remarque
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
Sur le serveur de publication, dans la base de données de publication, exécutez sp_addarticle. Spécifiez le nom de la publication à laquelle l'article appartient pour @publication, le nom de l'article pour @article, l'objet de base de données qui est publié pour @source_objectet la valeur SQL pour au moins un des paramètres suivants :
@ins_cmd : contrôle la réplication des INSERT commandes.
@upd_cmd : contrôle la réplication des UPDATE commandes.
@del_cmd : contrôle la réplication des DELETE commandes.
Remarque
Lors de la spécification de la valeur de SQL pour un des paramètres ci-dessus, les commandes de ce type seront répliquées à l'Abonné sous la forme de la 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
Sur le serveur de publication, dans la base de données de publication, exécutez sp_addarticle. Spécifiez le nom de la publication à laquelle l'article appartient pour @publication, le nom de l'article pour @article, l'objet de base de données qui est publié pour @source_objectet la valeur NONE pour au moins un des paramètres suivants :
@ins_cmd : contrôle la réplication des INSERT commandes.
@upd_cmd : contrôle la réplication des UPDATE commandes.
@del_cmd : contrôle la réplication des DELETE commandes.
Remarque
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 l’utilisateur
Sur le serveur de publication, dans la base de données de publication, exécutez sp_addarticle. Spécifiez le nom de la publication à laquelle l'article appartient pour @publication, le nom de l'article pour @article, l'objet de base de données qui est 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 un des paramètres suivants :
@ins_cmd - spécifiez la valeur de CALL sp_MSins_article_name, où article_name est la valeur spécifiée pour @article.
@del_cmd - spécifiez la valeur de 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 de SCALL sp_MSupd_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.
Remarque
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.
Remarque
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 CREATE PROCEDURE commande pour les procédures stockées d’insertion, de mise à jour ou de suppression, puis modifiez la définition de procédure pour fournir une logique personnalisée pour propager les 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
Sur le serveur de publication, dans la base de données de publication, exécutez sp_addarticle. Spécifiez le nom de la publication à laquelle l'article appartient pour @publication, le nom de l'article pour @article, l'objet de base de données qui est 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 un des paramètres suivants :
@ins_cmd - spécifiez la valeur de CALL sp_MSins_article_name, où article_name est la valeur spécifiée pour @article.
@del_cmd - spécifiez la valeur de 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 une valeur de 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.
Remarque
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.
Remarque
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 le Publisher de la base de données de publication, utilisez l’instruction ALTER PROCEDURE pour modifier sp_scriptpublicationcustomprocs afin qu’elle retourne un CREATE PROCEDURE script pour les procédures stockées personnalisées d’insertion, de mise à jour et de suppression. 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
Sur le serveur de publication, dans la base de données de publication, exécutez sp_changearticle. Spécifiez @publication, @article, la valeur ins_cmd, upd_cmdou del_cmd pour @property, ainsi que la méthode de propagation appropriée pour @value.
Répétez l'étape 1 pour chaque méthode de propagation à modifier.