Ausführbare Konzepte für die Programmierung von Replikations-Agents

Gilt für:yes SQL Server (alle unterstützten Versionen) Yes Azure SQL verwaltete Instanz

Replikations-Agents können wie folgt programmgesteuert kontrolliert werden:

  • Mit den verwalteten Schnittstellen für die Agent-Programmierung im Microsoft.SqlServer.Replication Namespace

  • Durch Aufrufen von ausführbaren Dateien von Agents mit einem angegebenen Satz von Parametern von der Eingabeaufforderung aus

Das direkte Aufrufen von Replikations-Agents von der Eingabeaufforderung aus ermöglicht den programmgesteuerten Zugriff auf Agents vom Befehlszeilenskript in Batchdateien. Wenn ein Agent über die Eingabeaufforderung aufgerufen wird, wird er unter dem Microsoft Windows Sicherheitskonto des Benutzers ausgeführt, der den Agent aufgerufen oder die Batchdatei gestartet hat.

Instanzen der folgenden Replikations-Agents können mit ausführbaren Dateien ausgeführt werden.

Beim Aufrufen von Replikations-Agents können Sie Leistungsprofile verwenden, um einen definierten Satz von Parametern automatisch an die ausführbare Datei des Agents zu übergeben. Weitere Informationen finden Sie unter Replication Agent Profiles.

Beispiele

Die folgenden Beispiele zeigen, wie Replikations-Agents von der Eingabeaufforderung aus aufgerufen werden. Replikations-Agents können auch mit Replikationsverwaltungsobjekten (Replication Management Objects, RMO) aufgerufen werden. Weitere Informationen finden Sie unter Synchronisieren von Abonnements (Replikation).

Hinweis

Zeilenumbrüche wurden in diesen Beispielen hinzugefügt, um die Lesbarkeit zu verbessern. In einer Batchdatei müssen Befehle in einer einzelnen Zeile stehen.

Ausführen des Momentaufnahme-Agents

Mit dieser Beispielbatchdatei wird der Momentaufnahme-Agent von der Befehlsaufforderung aus aufgerufen, um eine Momentaufnahme für die AdvWorksSalesOrdersMerge-Veröffentlichung zu generieren. (Die folgenden Skripts verwenden den Pfad zu SQL Server 2016-Dateien (13.x) (Version 130). Sie sollten die Skripts so anpassen, dass sie auf die Dateien für Ihre Version von SQL Server verweisen.)

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 ;  
  

Ausführen des Verteilungs-Agents

Mit dieser Beispielbatchdatei wird der Verteilungs-Agent von der Eingabeaufforderung aus aufgerufen, um Änderungen der AdvWorksProductTran-Veröffentlichung kontinuierlich an einen Pushabonnenten zu replizieren.

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 ;  
  

Ausführen des Merge-Agents

Mit dieser Beispielbatchdatei wird der Merge-Agent von der Eingabeaufforderung aus aufgerufen, um ein Pullabonnement für die AdvWorksSalesOrdersMerge-Veröffentlichung zu synchronisieren.

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 ;