Comment ajouter un article à un instantané existant ou à une composition transactionnelle à l'aide système des procédures stockées

Traductions disponibles Traductions disponibles
Numéro d'article: 830210 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

INTRODUCTION

Il existe deux façons pour ajouter un article non publié à un instantané existant, à une composition transactionnelle, ou pour fusionner la composition. Vous pouvez utiliser SQL Server Enterprise Manager pour ajouter un article non publié ou vous pouvez utiliser les procédures système stockée réplication qui sont fournis avec SQL Server pour ajouter un article non publié.

Si vous ajoutez un article non publié à une composition existante à l'aide de SQL Server Enterprise Manager, le schéma et les données de l'article ajouté est propagée automatiquement à tous les abonnés lorsque vous exécutez les agents de réplication correspondant pour la première fois après avoir ajouté l'article. Si vous ajoutez un article à une composition de fusion et publipostage en utilisant la procédure sp_addmergearticle réplication stockée système, le schéma et les données de l'article ajouté est propagée automatiquement à tous les abonnés. Toutefois, si vous utilisez la procédure de stockée système de réplication sp_addarticle pour ajouter un article non publié à un instantané ou à une composition transactionnelle, le schéma et les données de l'article ajouté n'est pas répercutées automatiquement dans tous les abonnés lorsque vous exécutez les agents de réplication correspondant pour la première fois après avoir ajouté l'article.

Cet article explique comment ajouter un article à un instantané existant ou à une composition en utilisant le système la réplication transactionnelle procédures stockées afin que le schéma et les données de l'article ajouté est également été propagée vers les abonnés au cours du processus de synchronisation.

Pour plus d'informations sur comment ajouter un article à l'aide de SQL Server responsable de l'entreprise, consultez la rubrique suivante dans la documentation en ligne de SQL Server :

How to modify publications and articles (Enterprise Manager)

Plus d'informations

Ajoutez un article à un instantané existant ou à une publication transactionnelle

Pour ajouter un article à un instantané ou à une composition transactionnelle, vous pouvez utiliser la procédure sp_addarticle réplication stockée système. Toutefois, lorsque vous utilisez la procédure sp_addarticle stockées, l'abonnement n'est pas mis à automatiquement jour. Par conséquent, vous devez explicitement ajouter l'abonnement à l'article de nouveau. Pour ce faire, procédez comme suit :
  1. Démarrez SQL Server Enterprise Manager.
  2. Dans le volet gauche, recherchez et puis sélectionnez l'instance de SQL Server qui contient la composition.
  3. Dans le menu Outils , pointez sur réplication , puis cliquez sur Créer et gérer des compositions .
  4. Dans la boîte de dialogue Créer et gérer des publications sur le Instance Name, recherchez et sélectionnez votre composition. Cliquez sur la composition de script .
  5. Dans le Générer un script SQL - < Composition Name >boîte de dialogue, sous les options de script de section, sur pour sélectionner l'option de script la procédure pour créer cette composition et puis cliquez sur Aperçu .
  6. Dans la réplication composant script Aperçu boîte de dialogue, cliquez sur Enregistrer sous .
  7. Dans la boîte de dialogue Emplacement de fichier de script , tapez NewArticle.sql dans la zone Nom de fichier et puis cliquez sur Enregistrer .
  8. Démarrez l'Analyseur de requêtes SQL et puis connectez-vous à l'instance de SQL Server qui contient la composition.
  9. Pour ajouter un article non publié à votre composition, exécutez les instructions Transact-SQL qui ressemblent à ce qui suit dans l'Analyseur de requêtes SQL à l'éditeur de la base de données de la composition.
    • exemple de code pour une composition de capture instantanée
      USE <Publication Database>
      GO
      
      EXEC sp_addarticle 
      	@publication = N'<Publication Name>', 
      	@article = N'<Article Name>', 
      	@source_owner = N'dbo', 
      	@source_object = N'<Article Object Name>', 
      	@destination_table = N'<Destination Table Name>', 
      	@type = N'logbased', 
      	@creation_script = null, 
      	@description = null, 
      	@pre_creation_cmd = N'drop', 
      	@schema_option = 0x00000000000000F1, 
      	@status = 0, 
      	@vertical_partition = N'false', 
      	@ins_cmd = N'SQL', 
      	@del_cmd = N'SQL', 
      	@upd_cmd = N'SQL', 
      	@filter = null, 
      	@sync_object = null, 
      	@auto_identity_range = N'false'
      GO
      
      note Vous devez copier des instructions Transact-SQL qui contient la procédure stockée système sp_addarticle réplication a été utilisé pour ajouter un article à la composition du fichier de script NewArticle.sql qui a été créé dans l'étape 7.

      Assurez-vous que vous modifier les paramètres suivants comme spécifié avant d'exécuter les instructions Transact-SQL.

      Réduire ce tableauAgrandir ce tableau
      ParamètreValeur
      @publicationNom de la composition active.
      @articleNom du nouvel article.
      @source_objectNom de la table sous-jacente est représentée par le nouvel article.
      @destination_tableLe nom de la table de destination qui sera créé à l'abonné.
      @force_invalidate_snapshot1 (Si un instantané est déjà généré pour la composition.)


      En outre, si votre article contient une colonne d'identité et que vous souhaitez SQL Server pour gérer la gestion de plage d'identité, vous devez définir la @auto_identity_range paramètre pour cette propriété a la valeur true .
    • exemple de code pour une publication transactionnelle @publication sp_addarticle
      USE <Publication Database>
      GO
      
      EXEC sp_addarticle 
      	@publication = N'<Publication Name>', 
      	@article = N'<Article Name>', 
      	@source_owner = N'dbo', 
      	@source_object = N'<Article Object Name>', 
      	@destination_table = N'<Destination Table Name>', 
      	@type = N'logbased', 
      	@creation_script = null, 
      	@description = null, 
      	@pre_creation_cmd = N'drop', 
      	@schema_option = 0x00000000000000F3, 
      	@status = 16, 
      	@vertical_partition = N'false', 
      	@ins_cmd = N'CALL sp_MSins_<Article Name>', 
      	@del_cmd = N'CALL sp_MSdel_<Article Name>', 
      	@upd_cmd = N'MCALL sp_MSupd_<Article Name>', 
      	@filter = null, 
      	@sync_object = null, 
      	@auto_identity_range = N'false'
      GO

      note Vous devez copier des instructions Transact-SQL qui contient la procédure stockée système sp_addarticle réplication a été utilisé pour ajouter un article à la composition du fichier de script NewArticle.sql qui a été créé dans l'étape 7.

      Assurez-vous que vous modifier les paramètres suivants comme spécifié avant d'exécuter les instructions Transact-SQL.

      Réduire ce tableauAgrandir ce tableau
      ParamètreValeur
      @publicationNom de la composition active.
      @articleNom du nouvel article.
      @source_objectNom de la table sous-jacente est représentée par le nouvel article.
      @destination_tableLe nom de la table de destination qui sera créé à l'abonné.
      @ins_cmdSp_MSins_ CALL < Article Name >
      @del_cmdSp_MSdel_ CALL < Article Name >
      @upd_cmdMCALL sp_MSupd_ < Article Name >
      @force_invalidate_snapshot1 (Si un instantané est déjà généré pour la composition.)


      En outre, si votre article contient une colonne d'identité et que vous souhaitez SQL Server pour gérer la gestion de plage d'identité, vous devez définir la @auto_identity_range paramètre pour cette propriété a la valeur true .
    Après avoir ajouté l'article non publié dans la composition en cours, vous pouvez remarquer que la propriété abonnement complet pour chaque abonnement qui s'abonne à la composition active est définie sur non :

    abonnement complet : non, cet abonnement contient uniquement de des articles de cette composition.
  10. Ajouter des abonnements à l'article qui a été ajouté à votre composition.
    • exemple de code pour un abonnement push

      Pour chaque abonnement push qui s'abonne à la composition active, exécutez les instructions Transact-SQL dans l'Analyseur de requêtes SQL à l'éditeur de la base de données de la composition. Voici un exemple : @publication sp_addsubscription
      USE <Publication Database>
      GO
      
      EXEC sp_addsubscription 
      	@publication = N'<publication Name>', 
      	@article = N'<Article Name>', 
      	@subscriber = N'<Subscriber Name>', 
      	@destination_db = N'<Destination Database>', 
      	@sync_type = N'automatic', 
      	@update_mode = N'read only', 
      	@offloadagent = 0, 
      	@dts_package_location = N'distributor'
      GO
      Remarque vous devez copier des instructions Transact-SQL qui contient le système de réplication sp_addsubscription stockées procédure qui a été utilisé pour ajouter l'abonnement d'un article du fichier de script NewArticle.sql qui a été créé dans l'étape 7.

      Assurez-vous que vous modifier les paramètres suivants avant d'exécuter l'instruction Transact-SQL.

      Réduire ce tableauAgrandir ce tableau
      ParamètreValeur
      @publicationNom de la composition active.
      @articleNom du nouvel article.
      @SubscriberNom de l'abonné.
      @destination_dbNom de la base de données de destination qui contient l'abonnement.


      Vous devez également vous assurer que les paramètres que vous peuvent modifier les propriétés existantes de l'abonnement ne peut pas être modifiés.
    • exemple de code pour un abonnement d'extraction

      Pour ajouter des abonnements aux nouveaux articles dans les abonnements d'extraction pour tous les abonnés existants à la composition, exécutez instructions Transact-SQL dans l'Analyseur de requêtes SQL à l'éditeur sur la base de données de la composition. Voici un exemple : @publication
      USE <Publication Database>
      GO
      
      EXEC sp_refreshsubscriptions 
      	@publication = N'<Publication Name>'
      GO
    Vous pouvez remarquer que la propriété abonnement complet pour chaque abonnement qui s'abonne à la composition active est définie sur Oui :

    abonnement complet : Oui, cet abonnement contient tous les articles de cette composition.
  11. Exécuter l'agent de capture instantanée qui correspond pour la composition active en le distributeur.
  12. Exécuter l'agent de distribution correspondant pour chaque abonnement qui s'abonne à la composition active.

Références

Pour plus d'informations sur le système de réplication procédures stockées qui sont utilisées pour ajouter la réplication, consultez les rubriques suivantes dans la documentation en ligne de SQL Server :
sp_addsubscription

sp_refreshsubscriptions

sp_addarticle


Pour plus d'informations sur la gestion des valeurs d'identité, consultez la rubrique suivante dans la documentation en ligne de SQL Server :
Managing Identity Values


Pour plus d'informations le sp_addmergearticle procédure stockée, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft :
297369 CORRECTIF : erreur pas se produit lorsque vous ajoutez article de publipostage à une composition avec abonnement de synchronisation non

269204 BOGUE : l'ajout d'un article de fusion et publipostage avec un filtre sous-ensemble peut provoquer l'agent de capture instantanée Échec

Propriétés

Numéro d'article: 830210 - Dernière mise à jour: lundi 23 avril 2007 - Version: 1.8
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2000 Standard
Mots-clés : 
kbmt kbreplication kbhowtomaster kbcodesnippet kbhowto KB830210 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 830210
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com