Concetti di base relativi ai file eseguibili dell'agente di replicaReplication Agent Executables Concepts

In questo argomento si applica a: SìSQL ServernonDatabase SQL di AzurenonAzure SQL Data Warehouse non Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Gli agenti di replica possono essere controllati a livello di codice nei modi seguenti:Replication agents can be controlled programmatically in the following ways:

  • Utilizzo delle interfacce di programmazione gestite dell'agente nello spazio dei nomi Microsoft.SqlServer.Replication.Using the managed agent programming interfaces in the Microsoft.SqlServer.Replication Namespace.

  • Richiamo dei file eseguibili dell'agente dal prompt dei comandi con un set di parametri fornito.Invoking agent executable files from the command prompt with a supplied set of parameters.

    Il richiamo diretto degli agenti di replica dal prompt dei comandi consente l'accesso a livello di codice agli agenti da script della riga di comando inclusi in file batch.Directly invoking replication agents from the command prompt enables agents to be programmatically accessed from command-line scripting in batch files. Quando viene richiamato dal prompt dei comandi, l'agente viene eseguito con l'account di sicurezza di MicrosoftMicrosoft dell'utente che ha richiamato l'agente o avviato il file batch.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.

    Le istanze degli agenti di replica seguenti possono essere eseguite utilizzando file eseguibili.Instances of the following replication agents can be run using executable files.

  • Agente distribuzione replicheReplication Distribution Agent

  • Agente lettura log replicheReplication Log Reader Agent

  • Agente merge replicheReplication Merge Agent

  • Agente di lettura coda replicheReplication Queue Reader Agent

  • Agente snapshot replicheReplication Snapshot Agent

    Quando si richiamano gli agenti di replica, è possibile utilizzare profili di prestazioni per passare automaticamente un set di parametri definito al file eseguibile dell'agente.When invoking replication agents, you can use performance profiles to automatically pass a defined set of parameters to the agent executable. Per altre informazioni, vedere Replication Agent Profiles.For more information, see Replication Agent Profiles.

EsempiExamples

Negli esempi seguenti viene illustrato come richiamare gli agenti di replica dal prompt dei comandi.The following examples show how to invoke replication agents from the command prompt. Gli agenti di replica possono inoltre essere richiamati utilizzando RMO (Replication Management Objects).Replication agents can also be invoked using Replication Management Objects (RMO). Per altre informazioni, vedere Sincronizzare le sottoscrizioni (replica).For more information, see Synchronize Subscriptions (Replication).

Nota

Le interruzioni di riga presenti negli esempi sono state aggiunte per facilitare la lettura.Line breaks in these examples were added to improve readability. I comandi in un file batch devono essere inseriti in un'unica riga.In a batch file, commands must be made in a single line.

Esecuzione dell'agente snapshotRunning the Snapshot Agent

Questo file batch di esempio richiama l'agente snapshot dal prompt dei comandi per generare uno snapshot per la pubblicazione AdvWorksSalesOrdersMerge.This example batch file invokes the Snapshot Agent from the command prompt to generate a snapshot for the AdvWorksSalesOrdersMerge publication. Gli script seguenti usano il percorso dei file di SQL Server 2016SQL Server 2016 (versione 130).(The scripts below use the path to SQL Server 2016SQL Server 2016 files (version 130). È necessario adeguare gli script in modo che puntino ai file per la versione in uso di 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 ;  

Esecuzione dell'agente di distribuzioneRunning the Distribution Agent

Questo file batch di esempio richiama l'agente di distribuzione dal prompt dei comandi per replicare continuamente le modifiche dalla pubblicazione AdvWorksProductTran in un server di sottoscrizione push.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 ;  

Esecuzione dell'agente di mergeRunning the Merge Agent

Questo file batch di esempio richiama l'agente di merge dal prompt dei comandi per sincronizzare una sottoscrizione pull con la pubblicazione 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 ;