如何同步推送订阅(复制编程)
推送订阅可以通过从命令提示符下调用适当的复制代理可执行文件,以编程的方式按需进行同步。被调用的复制代理可执行文件将取决于推送订阅所属的发布的类型。
启动分发代理以将推送订阅与事务性发布进行同步
通过命令提示符或分发服务器中的批处理文件,执行 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=AdventureWorks
SET SubscriptionDB=AdventureWorksReplica
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\90\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=AdventureWorks
SET SubscriptionDB=AdventureWorksReplica
SET Publication=AdvWorksSalesOrdersMerge
REM -- Start the Merge Agent.
REM -- The following command must be supplied without line breaks.
"C:\Program Files\Microsoft SQL Server\90\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
请参阅
任务
其他资源
如何同步推送订阅 (SQL Server Management Studio)