Concepts des exécutables de l'agent de réplicationReplication Agent Executables Concepts

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

Il est possible de contrôler par programme les agents de réplication de différentes manières :Replication agents can be controlled programmatically in the following ways:

  • en utilisant les interfaces de programmation d'agent managé dans l'espace de noms Microsoft.SqlServer.Replication ;Using the managed agent programming interfaces in the Microsoft.SqlServer.Replication Namespace.

  • En appelant les fichiers exécutables de l'agent à partir de l'invite de commandes avec des paramètres définis.Invoking agent executable files from the command prompt with a supplied set of parameters.

Lorsque les agents de réplication sont directement appelés à partir de l'invite de commandes, il est possible d'accéder par programme aux agents à partir de scripts dans des fichiers de commandes.Directly invoking replication agents from the command prompt enables agents to be programmatically accessed from command-line scripting in batch files. Lorsqu'un agent est appelé à partir de l'invite de commandes, il s'exécute sous le compte de sécurité MicrosoftMicrosoft Windows de l'utilisateur qui a appelé l'agent ou qui a lancé le fichier de commandes.When an agent is invoked from the command prompt, it runs under the MicrosoftMicrosoft Windows security account of the user that invoked the agent or started the batch file.

Il est possible d'exécuter des instances des agents de réplication suivants à l'aide de fichiers exécutables.Instances of the following replication agents can be run using executable files.

Lorsque vous appelez des agents de réplication, vous pouvez utiliser des profils de performances pour transmettre automatiquement un jeu défini de paramètres au fichier exécutable de l'agent.When invoking replication agents, you can use performance profiles to automatically pass a defined set of parameters to the agent executable. Pour plus d'informations, voir Replication Agent Profiles.For more information, see Replication Agent Profiles.

ExemplesExamples

Les exemples suivants décrivent comment appeler les agents de réplication à partir de l'invite de commandes.The following examples show how to invoke replication agents from the command prompt. Il est également possible d'appeler les agents de réplication au moyen de Replication Management Objects.Replication agents can also be invoked using Replication Management Objects (RMO). Pour plus d’informations, consultez Synchroniser des abonnements (réplication).For more information, see Synchronize Subscriptions (Replication).

Notes

Les sauts de ligne figurant dans ces exemples ont été ajoutés afin d'améliorer la lisibilité.Line breaks in these examples were added to improve readability. Dans un fichier de commandes, les commandes doivent figurer sur une seule ligne.In a batch file, commands must be made in a single line.

Exécution de l'Agent d'instantanéRunning the Snapshot Agent

Cet exemple de fichier de commandes appelle l’Agent d’instantané à partir de l’invite de commandes afin de générer un instantané pour la publication AdvWorksSalesOrdersMerge.This example batch file invokes the Snapshot Agent from the command prompt to generate a snapshot for the AdvWorksSalesOrdersMerge publication. (Les scripts ci-dessous utilisent le chemin d’accès aux fichiers SQL Server 2016 (13.x)SQL Server 2016 (13.x) (version 130).(The scripts below use the path to SQL Server 2016 (13.x)SQL Server 2016 (13.x) files (version 130). Vous devez modifier les scripts pour pointer vers les fichiers pour votre version de SQL ServerSQL Server.)You should adjust the scripts to point to the files for your version of SQL ServerSQL Server.)

REM -- Declare variables  
SET Publisher=%InstanceName%;  
SET PublicationDB=AdventureWorks2012;   
SET Publication=AdvWorksSalesOrdersMerge;   
  
REM --Start the Snapshot Agent to generate the snapshot for AdvWorksSalesOrdersMerge.  
"C:\Program Files\Microsoft SQL Server\130\COM\SNAPSHOT.EXE" -Publication %Publication%   
-Publisher %Publisher% -Distributor %Publisher% -PublisherDB %PublicationDB%   
-ReplicationType 2 -OutputVerboseLevel 1 -DistributorSecurityMode 1 ;  
  

Exécution de l'Agent de distributionRunning the Distribution Agent

Cet exemple de fichier de commandes appelle l’Agent de distribution à partir de l’invite de commandes afin de répliquer en continu les modifications de la publication AdvWorksProductTran sur un abonné pour un abonnement par émission de données.This example batch file invokes the Distribution Agent from the command prompt to continuously replicate changes from the AdvWorksProductTran publication to a push subscriber.

REM -- Declare the variables.  
SET Publisher=%instancename%;  
SET Subscriber=%instancename%;  
SET PublicationDB=AdventureWorks2012;  
SET SubscriptionDB=AdventureWorks2012Replica;   
SET Publication=AdvWorksProductsTran;  
  
REM -- Start the Distribution Agent with four subscription streams.  
REM -- The following command must be supplied without line breaks.  
"C:\Program Files\Microsoft SQL Server\130\COM\DISTRIB.EXE" -Subscriber %Subscriber%   
-SubscriberDB %SubscriptionDB% -SubscriberSecurityMode 1 -Publication %Publication%   
-Publisher %Publisher% -PublisherDB %PublicationDB% -Distributor %Publisher%   
-DistributorSecurityMode 1 -Continuous -SubscriptionType 0 -SubscriptionStreams 4 ;  
  

Exécution de l'Agent de fusionRunning the Merge Agent

Cet exemple de fichier de commandes appelle l’Agent de fusion à partir de l’invite de commandes afin de synchroniser un abonnement par extraction de données avec la publication AdvWorksSalesOrdersMerge.This example batch file invokes the Merge Agent from the command prompt to synchronize a pull subscription to the AdvWorksSalesOrdersMerge publication.

REM -- Declare the variables.  
SET Publisher=%instancename%;  
SET Subscriber=%instancename%;  
SET PublicationDB=AdventureWorks2012;  
SET SubscriptionDB=AdventureWorks2012Replica;   
SET Publication=AdvWorksSalesOrdersMerge;  
  
REM --Start the Merge Agent with concurrent upload and download processes.  
REM -- The following command must be supplied without line breaks.  
"C:\Program Files\Microsoft SQL Server\130\COM\REPLMERG.EXE" -Publication %Publication%    
-Publisher %Publisher%  -Subscriber  %Subscriber%  -Distributor %Publisher%    
-PublisherDB %PublicationDB%  -SubscriberDB %SubscriptionDB% -PublisherSecurityMode 1    
-OutputVerboseLevel 2  -SubscriberSecurityMode 1  -SubscriptionType 1 -DistributorSecurityMode 1    
-Validate 3  -ParallelUploadDownload 1 ;