wanyong117

清风随我度

导航

SQLSERVER 2008 复制之旅

近日,由于项目需要,重建复制任务,时间相隔太久,使用机会不多,对于过程有所忘记,故将步骤简单记录如下:

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.停止订阅任务,重启订阅任务。

至此简单的服务任务创建完毕。

posted on 2010-07-03 21:21  我的.net之旅  阅读(289)  评论(0编辑  收藏  举报