Création de scripts de réplicationScripting Replication

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database (Managed Instance uniquement) nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure SQL Data Warehouse noParallel Data Warehouse

Tous les composants de réplication dans une topologie doivent faire l'objet d'un script et s'intégrer dans un plan de récupération des données en cas de sinistre ; les scripts peuvent également être utilisés pour automatiser des tâches répétitives.All replication components in a topology should be scripted as part of a disaster recovery plan, and scripts can also be used to automate repetitive tasks. Un script contient les procédures stockées système Transact-SQL nécessaires pour mettre en œuvre le ou les composants de réplication définis dans des scripts, tels qu'une publication ou un abonnement.A script contains the Transact-SQL system stored procedures necessary to implement the replication component(s) scripted, such as a publication or subscription. Il est possible de créer des scripts à l'aide d'un Assistant (comme l'Assistant Nouvelle publication) ou dans MicrosoftMicrosoft SQL Server Management StudioSQL Server Management Studio après avoir créé un composant.Scripts can be created in a wizard (such as the New Publication Wizard) or in MicrosoftMicrosoft SQL Server Management StudioSQL Server Management Studio after you create a component. Vous pouvez afficher, modifier et exécuter le script à l'aide de SQL Server Management StudioSQL Server Management Studio ou sqlcmd.You can view, modify, and run the script using SQL Server Management StudioSQL Server Management Studio or sqlcmd. Les scripts peuvent être stockés avec les fichiers de sauvegarde dans le cas où la topologie de réplication doit être reconfigurée.Scripts can be stored with backup files to be used in case a replication topology must be reconfigured.

Un nouveau script doit être généré pour un composant si des modifications sont apportées à ses propriétés.A component should be re-scripted if any property changes are made. Si vous utilisez des procédures stockées personnalisées avec la réplication transactionnelle, une copie de chaque procédure doit être stockée avec les scripts ; la copie doit être mise à jour si la procédure change (les procédures sont généralement mises à jour suite à des modifications de schéma ou à des modifications des conditions requises par l'application).If you use custom stored procedures with transactional replication, a copy of each procedure should be stored with the scripts; the copy should be updated if the procedure changes (procedures are typically updated due to schema changes or changing application requirements). Pour plus d’informations sur les procédures personnalisées, consultez Spécifier le mode de propagation des modifications des articles transactionnels.For more information about custom procedures, see Specify How Changes Are Propagated for Transactional Articles.

Pour les publications de fusion qui utilisent des filtres paramétrés, les scripts de publication contiennent l'appel de la procédure stockée pour créer des partitions de données.For merge publications that use parameterized filters, publication scripts contain the stored procedure calls to create data partitions. Le script fournit une référence pour les partitions créées et un moyen permettant de recréer si nécessaire une ou plusieurs partitions.The script provides a reference for the partitions created and a way in which to re-create one or more partitions if necessary.

Exemple d'automatisation d'une tâche avec des scriptsExample of Automating a Task with Scripts

Considérons Adventure Works CyclesAdventure Works Cycles, qui met en œuvre la réplication de fusion pour distribuer des données à sa force de vente distante.Consider Adventure Works CyclesAdventure Works Cycles, which implements merge replication to distribute data to its remote sales force. Un commercial télécharge toutes les données qui se rapportent aux clients de son territoire, à l'aide d'abonnements par extraction de données (pull).A sales representative downloads all the data that pertains to the customers in her territory using pull subscriptions. En mode déconnecté, les représentants commerciaux mettent à jour des données et entrent de nouveaux clients et de nouvelles commandes.When working offline, the sales representative updates data and enters new customers and orders. Adventure Works CyclesAdventure Works Cycles employant plus de 50 représentants commerciaux sur des territoires différents, il serait donc très long de créer les différents abonnements sur chaque Abonné avec l'Assistant Nouvel abonnement.Because Adventure Works CyclesAdventure Works Cycles has more than fifty sales representatives in different territories, it would be time-consuming to create the different subscriptions at each Subscriber with the New Subscription Wizard. À la place, l'administrateur de réplication peut procéder selon les étapes suivantes :Instead, the replication administrator can follow these steps:

  1. Configurez les publications de fusion nécessaires avec des partitions basées sur le représentant commercial ou son territoire.Set up the necessary merge publications with partitions based on the sales representative or their territory.

  2. Créez un abonnement par extraction de données (pull) pour un Abonné.Create a pull subscription for one Subscriber.

  3. Générez un script basé sur cet abonnement par extraction de données (pull).Generate a script based on that pull subscription.

  4. Modifiez le script, en changeant des valeurs comme le nom de l'Abonné.Modify the script, changing such values as the name of the Subscriber.

  5. Exécutez le script sur plusieurs Abonnés pour générer les abonnements par extraction de données (pull) requis.Run the script at multiple Subscribers to generate the required pull subscriptions.

Objets de réplication ScriptScript Replication Objects

Générez des scripts pour des objets de réplication à partir des Assistants de réplication ou du dossier Réplication de MicrosoftMicrosoft SQL Server Management StudioSQL Server Management Studio.Script replication objects from the replication wizards or from the Replication folder in MicrosoftMicrosoft SQL Server Management StudioSQL Server Management Studio. Si vous générez des scripts à partir des Assistants, vous pouvez opter pour la création d'objets et leur intégration dans un script ou pour la génération de scripts seuls.If you script from the wizards, you can choose to create objects and script them, or you can choose only to script them.

Important

Tous les mots de passe sont définis dans le script avec la valeur NULL.All passwords are scripted as NULL. Lorsque c'est possible, demande aux utilisateurs de fournir les informations d'identification au moment de l'exécution.When possible, prompt users to enter security credentials at runtime. Si vous stockez des informations d'identification dans un fichier de script, vous devez sécuriser le fichier pour empêcher tout accès non autorisé.If you store credentials in a script file, you must secure the file to prevent unauthorized access.

Pour plus d'informations sur l'utilisation des Assistants de réplication, consultez :For more information about using the replication wizards, see:

Pour générer un script pour un objet à partir d'un Assistant de réplicationTo script an object from a replication wizard

  1. Dans la page Actions de l'Assistant d'un Assistant, activez la case à cocher adaptée à l'Assistant :On the Wizard Actions page of a wizard, select the check box appropriate for the wizard:

    • Générer un fichier de script comportant les étapes de création d'une publicationGenerate a script file with steps to create a publication

    • Générer un fichier de script comportant les étapes de création d'une ou de plusieurs publicationsGenerate a script file with steps to create the subscription(s)

    • Générer un fichier de script comportant les étapes de configuration de la distributionGenerate a script file with steps to configure distribution

  2. Spécifiez les options dans la page Propriétés du fichier de script .Specify options on the Script File Properties page.

  3. Terminez l'Assistant.Complete the wizard.

Pour générer un script pour un objet à partir de Management StudioTo script an object from Management Studio

  1. Connectez-vous au serveur de distribution, au serveur de publication ou à l'Abonné dans Management StudioManagement Studio, puis développez le nœud du serveur.Connect to the Distributor, Publisher, or Subscriber in Management StudioManagement Studio, and then expand the server node.

  2. Développez le dossier Réplication , puis le dossier Publications locales ou le dossier Abonnements locaux .Expand the Replication folder, and then expand the Local Publications folder or the Local Subscriptions folder.

  3. Cliquez avec le bouton droit sur une publication ou un abonnement, puis cliquez sur Générer des scripts.Right-click a publication or subscription, and then click Generate Scripts.

  4. Spécifiez les options dans la boîte de dialogue Générer un Script SQL - <Objet_Réplication> .Specify options in the Generate SQL Script - <ReplicationObject> dialog box.

  5. Cliquez sur Générer un script sur fichier.Click Script to File.

  6. Entrez un nom de fichier dans la boîte de dialogue Emplacement du fichier de script , puis cliquez sur Enregistrer.Enter a file name in the Script File Location dialog box, and then click Save. Un message d'état est affiché.A status message is displayed.

  7. Cliquez sur OK, puis sur Fermer.Click OK, and then click Close.

Pour générer un script pour plusieurs objets à partir de Management StudioTo script multiple objects from Management Studio

  1. Connectez-vous au serveur de distribution, au serveur de publication ou à l'Abonné dans Management StudioManagement Studio, puis développez le nœud du serveur.Connect to the Distributor, Publisher, or Subscriber in Management StudioManagement Studio, and then expand the server node.

  2. Cliquez avec le bouton droit sur le dossier Réplication , puis cliquez sur Générer des scripts.Right-click the Replication folder, and then click Generate Scripts.

  3. Spécifiez les options dans la boîte de dialogue Générer un script SQL .Specify options in the Generate SQL Script dialog box.

  4. Cliquez sur Générer un script sur fichier.Click Script to File.

  5. Entrez un nom de fichier dans la boîte de dialogue Emplacement du fichier de script , puis cliquez sur Enregistrer.Enter a file name in the Script File Location dialog box, and then click Save. Un message d'état est affiché.A status message is displayed.

  6. Cliquez sur OK , puis sur Fermer.Click OK, and then click Close.