近日,由于项目需要,重建复制任务,时间相隔太久,使用机会不多,对于过程有所忘记,故将步骤简单记录如下:
1.创建发布服务器及发布项目(XXX_PUB),设置项目属性,允许通过"数据库备份进行初始化";
2.备份源数据库;
3.在复制目标服务器上恢复数据库;
4.在原数据库上执行下面语句,创建订阅。(语句需在源数据库中执行)
sp_addsubscription @publication = XXX_PUB'
, @article = 'all'
, @subscriber = '目标机器名'
, @destination_db = '目标数据库'
, @sync_type = 'initialize with backup'
, @status = 'active'
, @subscription_type = 'push'
, @update_mode = 'read only'
, @loopback_detection = 'True'
, @backupdevicetype = 'disk'
, @backupdevicename = '源服务器上的备份文件'
5.在目标数据库上给触发器增加 Not for Replication 属性
用下面语句生成脚本
SELECT ' exec sp_helptext ' + a.name + ' select ''go''' FROM sys.objects a
where a.type='tr'
先有"----" 4个“-”进行替换,"--" 表示注释,必须要保留。
再替换“Text”
6.打开复制监视器,修改订阅任务的运行代理账户;
7.停止订阅任务,重启订阅任务。
至此简单的服务任务创建完毕。