Partager via


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 d'articles transactionnels dans SQL Server 2012 à 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 :

    Limitations et restrictions

  • Pour définir la méthode de propagation des modifications de données d'articles transactionnels à l'aide de :

    SQL Server Management Studio

    Transact-SQL

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 n'assure pas la prise en charge de la logique personnalisée.

Icône de flèche utilisée avec le lien Retour en haut[Top]

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>, disponible dans l'Assistant Nouvelle publication et dans la boîte de dialogue Propriétés de la publication - <Publication>. Pour plus d'informations sur l'utilisation de cet Assistant et sur l'accès à cette 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

  1. Sur 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.

  2. Cliquez sur Propriétés de l'article de table en surbrillance.

  3. 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, 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.

  4. Cliquez sur OK.

  5. Si vous vous trouvez 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

  1. Dans la page Articles de l'Assistant Nouvelle publication ou dans 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.

  2. Cliquez sur Propriétés de l'article de table en surbrillance.

    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é (Format de remise INSERT, Format de remise UPDATE ou Format de remise DELETE), puis tapez le nom de la procédure à utiliser dans Procédure stockée INSERT, Procédure stockée DELETE ou Procédure stockée UPDATE. Pour plus d'informations sur la syntaxte CALL, consultez la section « Syntaxe CALL pour les procédures stockées » dans Spécifier le mode de propagation des modifications des articles transactionnels.

  3. Cliquez sur OK.

  4. Si vous vous trouvez 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.

  5. 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 dossier .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.

Icône de flèche utilisée avec le lien Retour en haut[Top]

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

  • Dans la base de données de publication du serveur 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 et la valeur SQL pour au moins 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.

    [!REMARQUE]

    Lors de la spécification de la valeur SQL pour un des paramètres ci-dessus, les commandes de ce type seront répliquées sur 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

  • Dans la base de données de publication du serveur 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 et la valeur NONE pour au moins 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.

    [!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 utilisateur

  1. Dans la base de données de publication du serveur 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 CALL sp_MSins_nom_article, où nom_article est la valeur spécifiée pour @article.

    • @del_cmd – spécifiez la valeur CALL sp_MSdel_nom_article ou XCALL sp_MSdel_nom_article, où nom_article est la valeur spécifiée pour @article.

    • @upd_cmd – spécifiez la valeur SCALL sp_MSupd_nom_article, CALL sp_MSupd_nom_article, XCALL sp_MSupd_nom_article ou MCALL sp_MSupd_nom_article, où nom_article 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 de 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.

  2. 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

  1. Dans la base de données de publication du serveur 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 CALL sp_MSins_nom_article, où nom_article est la valeur spécifiée pour @article.

    • @del_cmd – spécifiez la valeur CALL sp_MSdel_nom_article ou XCALL sp_MSdel_nom_article, où nom_article est la valeur spécifiée pour @article.

    • @upd_cmd – spécifiez la valeur SCALL sp_MSupd_nom_article, CALL sp_MSupd_nom_article, XCALL sp_MSupd_nom_article, MCALL sp_MSupd_nom_article, où nom_article 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 de 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.

  2. 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

  1. Dans la base de données de publication du serveur de publication, exécutez sp_changearticle. Spécifiez @publication, @article, la valeur ins_cmd, upd_cmd ou del_cmd pour @property, ainsi que la méthode de propagation appropriée pour @value.

  2. Répétez l'étape 1 pour chaque méthode de propagation à modifier.

Icône de flèche utilisée avec le lien Retour en haut[Top]

Voir aussi

Concepts

Spécifier le mode de propagation des modifications des articles transactionnels

Créer, modifier et supprimer des publications et des articles (réplication)