Как синхронизировать принудительную подписку (программирование репликации)
Принудительные подписки можно синхронизировать программно и по требованию, с помощью вызова из командной строки нужного исполняемого файла агента репликации. Вызываемый исполняемый файл агента репликации зависит от типа публикации, к которой принадлежит принудительная подписка.
Запуск агента распространителя для синхронизации принудительной подписки на публикацию транзакций
Выполните программу distrib.exe из командной строки или из пакетного файла на распространителе. Укажите следующие параметры командной строки.
-Publisher
-PublisherDB
-Distributor
-Subscriber
-SubscriberDB
-SubscriptionType = 0
При использовании проверки подлинности SQL Server необходимо также указать следующие аргументы.
-DistributorLogin
-DistributorPassword
-DistributorSecurityMode = 0
-PublisherLogin
-PublisherPassword
-PublisherSecurityMode = 0
-SubscriberLogin
-SubscriberPassword
-SubscriberSecurityMode = 0
Примечание по безопасности По возможности используйте проверку подлинности Windows.
Запуск агента слияния для синхронизации принудительной подписки на публикацию слиянием
Выполните программу replmerg.exe из командной строки или из пакетного файла на распространителе. Укажите следующие параметры командной строки.
-Publisher
-PublisherDB
-Publication
-Distributor
-Subscriber
-SubscriberDB
-SubscriptionType = 0
При использовании проверки подлинности SQL Server необходимо также указать следующие аргументы.
-DistributorLogin
-DistributorPassword
-DistributorSecurityMode = 0
-PublisherLogin
-PublisherPassword
-PublisherSecurityMode = 0
-SubscriberLogin
-SubscriberPassword
-SubscriberSecurityMode = 0
Примечание по безопасности По возможности используйте проверку подлинности Windows.
Пример
В следующем примере агент распространителя запускается для синхронизации принудительной подписки.
REM -- Declare the variables.
SET Publisher=%instancename%
SET Subscriber=%instancename%
SET PublicationDB=AdventureWorks2008R2
SET SubscriptionDB=AdventureWorks2008R2Replica
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\100\COM\DISTRIB.EXE" -Subscriber %Subscriber%
-SubscriberDB %SubscriptionDB% -SubscriberSecurityMode 1 -Publication %Publication%
-Publisher %Publisher% -PublisherDB %PublicationDB% -Distributor %Publisher%
-DistributorSecurityMode 1 -Continuous -SubscriptionType 0 -SubscriptionStreams 4
В следующем примере агент слияния запускается для синхронизации принудительной подписки.
REM -- Declare the variables.
SET Publisher=%instancename%
SET Subscriber=%instancename%
SET PublicationDB=AdventureWorks2008R2
SET SubscriptionDB=AdventureWorks2008R2Replica
SET Publication=AdvWorksSalesOrdersMerge
REM -- Start the Merge Agent.
REM -- The following command must be supplied without line breaks.
"C:\Program Files\Microsoft SQL Server\100\COM\REPLMERG.EXE" -Publisher %Publisher%
-Subscriber %Subscriber% -Distributor %Publisher% -PublisherDB %PublicationDB%
-SubscriberDB %SubscriptionDB% -Publication %Publication% -PublisherSecurityMode 1
-OutputVerboseLevel 3 -Output -SubscriberSecurityMode 1 -SubscriptionType 0
-DistributorSecurityMode 1