Concepts des exécutables de l'agent de réplication

S’applique à : SQL Server Azure SQL Managed Instance

Il est possible de contrôler par programme les agents de réplication de différentes manières :

  • en utilisant les interfaces de programmation d'agent managé dans l'espace de noms Microsoft.SqlServer.Replication ;

  • En appelant les fichiers exécutables de l'agent à partir de l'invite de commandes avec des paramètres définis.

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. Lorsqu’un agent est appelé à partir de l’invite de commandes, il s’exécute sous le compte de sécurité Microsoft Windows de l’utilisateur qui a appelé l’agent ou démarré le fichier batch.

Il est possible d'exécuter des instances des agents de réplication suivants à l'aide de fichiers exécutables.

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. Pour plus d'informations, voir Replication Agent Profiles.

Exemples

Les exemples suivants décrivent comment appeler les agents de réplication à partir de l'invite de commandes. Il est également possible d'appeler les agents de réplication au moyen de Replication Management Objects. Pour plus d’informations, consultez Synchroniser les abonnements (réplication).

Remarque

Les sauts de ligne figurant dans ces exemples ont été ajoutés afin d'améliorer la lisibilité. Dans un fichier de commandes, les commandes doivent figurer sur une seule ligne.

Exécution de l'Agent d'instantané

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. (Les scripts ci-dessous utilisent le chemin d’accès aux fichiers SQL Server 2016 (13.x) (version 130). Vous devez ajuster les scripts pour qu’ils pointent vers les fichiers de votre version de SQL Server.)

REM -- Declare variables  
SET Publisher=%InstanceName%;  
SET PublicationDB=AdventureWorks2022;   
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 distribution

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.

REM -- Declare the variables.  
SET Publisher=%instancename%;  
SET Subscriber=%instancename%;  
SET PublicationDB=AdventureWorks2022;  
SET SubscriptionDB=AdventureWorks2022Replica;   
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 fusion

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.

REM -- Declare the variables.  
SET Publisher=%instancename%;  
SET Subscriber=%instancename%;  
SET PublicationDB=AdventureWorks2022;  
SET SubscriptionDB=AdventureWorks2022Replica;   
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 ;