任何人都知道是否可以动态地以编程方式创建新的SQL WEB复制订阅?
我可以通过VPN以编程方式进行,使用标准数据库进行数据库同步,但在使用Web复制时似乎无法动态创建订阅。
答案 0 :(得分:1)
我们可以创建订阅并将其配置为使用T-SQL以编程方式使用Web同步(和/或RMO,如果这是SQL Server 2012或更早版本)。
使用T-SQL:
在发布商执行sp_addmergesubscription并指定 @publication , @subscriber , @subscriber_db 的值,以及 @subscription_type 的值 pull 。
然后在订阅者处执行sp_addmergepullsubscription 指定 @publication , @publisher 的值,以及 的 @publisher_db 强>
然后在订阅者处,如果这是标准版或更高版本, 执行sp_addmergepullsubscription_agent指定值 @publisher , @publisher_db , @publication , @use_web_sync 1 >, @internet_url , @internet_security_mode , @internet_login 和 @internet_password 。
如果订阅创建过程无权访问发布者和订阅者,则您需要创建匿名订阅。
使用T-SQL:
在订阅服务器上执行sp_addmergepullsubscription和 为 @subscriber_type 和值指定匿名的值 @publication , @publisher 和 @publisher_db 。
然后在订阅者处,如果这是标准版或更高版本, 执行sp_addmergepullsubscription_agent指定值 @publisher , @publisher_db , @publication , @use_web_sync 1 >, @internet_url , @internet_security_mode , @internet_login 和 @internet_password 。
How to: Configure a Subscription to Use Web Synchronization (Replication Transact-SQL Programming)
中介绍了这一点