We have a SQL Express 2016 instance that is doing merge replication to a SQL 2016 box. This is an upgraded instance on both sides. We upgraded from SQL Express 2012 to 2016 and we moved the database to a SQL 2016 instance.
Merge replication triggered by a batch file with the following parameters (server, distributor, and subscription info changed to numbers)
REM -- Declare the variables.
SET Publisher=1111111
SET Distributor=2222222
SET Subscriber=3333333\SQLEXPRESS
SET PublicationDB=44444444
SET SubscriptionDB=555555555
SET Publication=666666666
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 %Distributor% -PublisherDB %PublicationDB% -SubscriberDB %SubscriptionDB% -PublisherSecurityMode 0 -OutputVerboseLevel 2 -SubscriberSecurityMode 1 -SubscriptionType 1 -DistributorSecurityMode 0 -Validate 3 -ParallelUploadDownload 1
pause;
exit
When the batch file is ran, it shows in the replication log file that it cannot connect to the distributor.
ERROR: ErrNo = 0x80045901, ErrSrc = <null>, ErrType = 9, ErrStr = The process could not connect to Distributor '2222222'.
I can manually trigger the replication from my account (I'm a DBA).
Am I just missing a username and password for this to automatically merge when the batch file is called or am I missing something blatantly obvious in my batch file?
Best Answer
Per the command line parameters for replmerg.exe
But you did not include