*****************************************************************
*********************脚本创建订阅命令****************************
*****************************************************************
在发布服务器的发布数据库窗口中执行
exec sp_addsubscription
@publication = N'testpublishrepl',
@subscriber ='lansql-68779ae3', --订阅服务器名称
@destination_db = N'testpublish',
@subscription_type = N'Push',
@sync_type = N'initialize with backup',
@article = N'all',
@update_mode = N'read only',
@subscriber_type = 0,
@backupdevicetype='disk',
@backupdevicename='F:\test\testpublish.bak',
@frequency_type = 1
如果是请求订阅则要把发布类型改成Pull,还需多一步在订阅服务器的订阅数据库窗口下执行如下命令:
EXEC sp_addpullsubscription
@publisher = N'HTCMS-DSNI453HT', --发布服务器名称
@publication = N'TestReplication', --发布名称
@publisher_db = N'test', --发布数据库名称
@subscription_type='Pull', --订阅类型(请求订阅是:Pull, 推送订阅是:Push)
@update_mode='read only'; --更新模式
EXEC sp_addpullsubscription_agent
@publisher = N'HTCMS-DSNI453HT', --发布服务器名
@publisher_db = N'test', --发布数据库名称
@publication = N'TestReplication', --发布名称
@distributor = N'HTCMS-DSNI453HT'; --分发服务器名称
执行完代理之后,在订阅服务器上的订阅属性中填写与发布服务器的连接用户名和密码, 在分发代理作业下新建一个计划,使之作业在代理服务起动下自动启动,
然后在作业的命令行后加上参数 -Continuous 循环执行
exec sp_addsubscription
@publication = N'Test', --发布名
@subscriber ='WIN-H07H34JK13J',--订阅服务器
@destination_db = N'TestRepl',--订阅库
@subscription_type = N'Push',--推送
@sync_type = N'initialize with backup',--备份
@article = N'all',--
@update_mode = N'read only',--
@subscriber_type = 0,--
@backupdevicetype='disk',--
@backupdevicename='e:\junk\test.bak',--备份路径
@frequency_type = 1
--在发布服务器的发布数据库窗口中执行
exec sp_addsubscription
@publication = N'testpublishrepl', ----发布的名称
@subscriber ='lansql-68779ae3', --订阅服务器的名称
@destination_db = N'testpublish', --用于放置复制数据的目标数据库的名称
@subscription_type = N'Push',
@sync_type = N'initialize with backup',
@article = N'all',
@update_mode = N'read only',
@subscriber_type = 0,
@backupdevicetype='disk',
@backupdevicename='F:\test\testpublish.bak',
@frequency_type = 1
--如果是请求订阅则要把发布类型改成Pull,还需多一步在订阅服务器的订阅数据库窗口下执行如下命令:
EXEC sp_addpullsubscription
@publisher = N'HTCMS-DSNI453HT', --发布服务器名称
@publication = N'TestReplication', --发布名称
@publisher_db = N'test', --发布数据库名称
@subscription_type='Pull', --订阅类型(请求订阅是:Pull, 推送订阅是:Push)
@update_mode='read only'; --更新模式
EXEC sp_addpullsubscription_agent
@publisher = N'HTCMS-DSNI453HT', --发布服务器名
@publisher_db = N'test', --发布数据库名称
@publication = N'TestReplication', --发布名称
@distributor = N'HTCMS-DSNI453HT'; --分发服务器名称
--执行完代理之后,在订阅服务器上的订阅属性中填写与发布服务器的连接用户名和密码, 在分发代理作业下新建一个计划,使之作业在代理服务起动下自动启动,
--然后在作业的命令行后加上参数 -Continuous 循环执行
EXEC sp_addpullsubscription
@publisher = N'LI-A46DB5906C55', --发布服务器名称
@publication = N't', --发布名称
@publisher_db = N't', --发布数据库名称
@subscription_type='Pull', --订阅类型(请求订阅是:Pull, 推送订阅是:Push)
@update_mode='read only'; --更新模式
EXEC sp_addpullsubscription_agent
@publisher = N'LI-A46DB5906C55', --发布服务器名
@publisher_db = N't', --发布数据库名称
@publication = N't', --发布名称
@distributor = N'LI-A46DB5906C55'; --分发服务器名称
*********************脚本创建订阅命令****************************
*****************************************************************
在发布服务器的发布数据库窗口中执行
exec sp_addsubscription
@publication = N'testpublishrepl',
@subscriber ='lansql-68779ae3', --订阅服务器名称
@destination_db = N'testpublish',
@subscription_type = N'Push',
@sync_type = N'initialize with backup',
@article = N'all',
@update_mode = N'read only',
@subscriber_type = 0,
@backupdevicetype='disk',
@backupdevicename='F:\test\testpublish.bak',
@frequency_type = 1
如果是请求订阅则要把发布类型改成Pull,还需多一步在订阅服务器的订阅数据库窗口下执行如下命令:
EXEC sp_addpullsubscription
@publisher = N'HTCMS-DSNI453HT', --发布服务器名称
@publication = N'TestReplication', --发布名称
@publisher_db = N'test', --发布数据库名称
@subscription_type='Pull', --订阅类型(请求订阅是:Pull, 推送订阅是:Push)
@update_mode='read only'; --更新模式
EXEC sp_addpullsubscription_agent
@publisher = N'HTCMS-DSNI453HT', --发布服务器名
@publisher_db = N'test', --发布数据库名称
@publication = N'TestReplication', --发布名称
@distributor = N'HTCMS-DSNI453HT'; --分发服务器名称
执行完代理之后,在订阅服务器上的订阅属性中填写与发布服务器的连接用户名和密码, 在分发代理作业下新建一个计划,使之作业在代理服务起动下自动启动,
然后在作业的命令行后加上参数 -Continuous 循环执行
exec sp_addsubscription
@publication = N'Test', --发布名
@subscriber ='WIN-H07H34JK13J',--订阅服务器
@destination_db = N'TestRepl',--订阅库
@subscription_type = N'Push',--推送
@sync_type = N'initialize with backup',--备份
@article = N'all',--
@update_mode = N'read only',--
@subscriber_type = 0,--
@backupdevicetype='disk',--
@backupdevicename='e:\junk\test.bak',--备份路径
@frequency_type = 1
--在发布服务器的发布数据库窗口中执行
exec sp_addsubscription
@publication = N'testpublishrepl', ----发布的名称
@subscriber ='lansql-68779ae3', --订阅服务器的名称
@destination_db = N'testpublish', --用于放置复制数据的目标数据库的名称
@subscription_type = N'Push',
@sync_type = N'initialize with backup',
@article = N'all',
@update_mode = N'read only',
@subscriber_type = 0,
@backupdevicetype='disk',
@backupdevicename='F:\test\testpublish.bak',
@frequency_type = 1
--如果是请求订阅则要把发布类型改成Pull,还需多一步在订阅服务器的订阅数据库窗口下执行如下命令:
EXEC sp_addpullsubscription
@publisher = N'HTCMS-DSNI453HT', --发布服务器名称
@publication = N'TestReplication', --发布名称
@publisher_db = N'test', --发布数据库名称
@subscription_type='Pull', --订阅类型(请求订阅是:Pull, 推送订阅是:Push)
@update_mode='read only'; --更新模式
EXEC sp_addpullsubscription_agent
@publisher = N'HTCMS-DSNI453HT', --发布服务器名
@publisher_db = N'test', --发布数据库名称
@publication = N'TestReplication', --发布名称
@distributor = N'HTCMS-DSNI453HT'; --分发服务器名称
--执行完代理之后,在订阅服务器上的订阅属性中填写与发布服务器的连接用户名和密码, 在分发代理作业下新建一个计划,使之作业在代理服务起动下自动启动,
--然后在作业的命令行后加上参数 -Continuous 循环执行
EXEC sp_addpullsubscription
@publisher = N'LI-A46DB5906C55', --发布服务器名称
@publication = N't', --发布名称
@publisher_db = N't', --发布数据库名称
@subscription_type='Pull', --订阅类型(请求订阅是:Pull, 推送订阅是:Push)
@update_mode='read only'; --更新模式
EXEC sp_addpullsubscription_agent
@publisher = N'LI-A46DB5906C55', --发布服务器名
@publisher_db = N't', --发布数据库名称
@publication = N't', --发布名称
@distributor = N'LI-A46DB5906C55'; --分发服务器名称
本文详细介绍了如何在 SQL Server 中创建数据库订阅,包括推式订阅和拉式订阅的创建步骤,以及如何配置代理任务以实现自动同步。

被折叠的 条评论
为什么被折叠?



