发布与订阅SQLServer

SQLServer 中发布与订阅

  在对数据库做迁移的时候,会有很多方法,用存储过程,job,也可以用开源工具lettle,那么今天这些天变接触到了一种新的方法,就是SqlServer中自带的发布与订阅。

  首先说明一下数据复制的流程。如下图A是(192.168.210.170)上的数据库,B是(172.23.100.109)上的数据库。把B当作数据源,然后A从B上获取数据。

发布前准备:首先两个服务器之间要能相互通讯,也就是能ping命令能通。

         平时我们链接数据库的时候,经常都是用的ip登陆,但是发布的时候不能这样,必须用服务器名称,不然会报错,如下图。

        

解决办法有两种:

第一种方法(远程):①分别查询出数据库服务器的名称,查询语句“select @@SERVERNAME”。

②AB两个服务器分别远程桌面登陆上。

③用服务器上的Management studio去连接本机的数据库(注意:不能用ip去链接,用第一步查出来的名称连接)。

④之后按下面步骤进行发布订阅。

             第二种方法(本地):①分别查询出数据库服务器的名称,查询语句“select @@SERVERNAME”。

②用我本地的计算机C,找到C:\Windows\System32\drivers\etc这个路径,将在hosts文件中将A的ip地址和第一步查询 出来的服务器名称添加进去,B也是。这也就是映射。

               ③打开本地的Management studio,去连接AB两个数据库(这里也应该用查询服务器名称)。

               ④之后按下面步骤进行发布订阅。

           这里本实验选择的是第二种方式,接下来就正式开始了。

1.发布

  

①在数据库B服务器下找到【复制】-【本地发布】-【新建发布】。

  

②选择要发布的数据库

  

③选择发布类型,这里选择快照发布。

  

④选择发布的内容,即要发布哪些数据。

  

⑤进行数据筛选,可以在这一步就行条件过滤,当然也可以不设置条件,选取所有数据。

      

⑥设置快照代理并更改同步频率

  

⑦安全性设置,即配置登陆类型,登陆账户密码。

  

  

⑧给发布名称起一个名字,我起了个LS(李四)

  

  

  最终,到这一步,发布算是完成了,接下来就开始看订阅。

2.订阅

订阅是对刚才发布的快照进行同步,即将数据源数据同步到目标数据库。

①在服务器A上,【复制】-【本地订阅】-【新建订阅】

  

②选择订阅发布

  

  

③选择分发代理的位置,选择一个简单的推送订阅。

  

④设置订阅服务器的目标数据库

  

⑤设置代理安全性,即订阅服务器的账户密码。

  

⑥设置同步计划,这里选择连续运行。

  

⑦点击完成,订阅配置完成。

  

⑧查看监视。在【本地发布】-【启动复制监视器】,点开就能查看快照的运行状态,和其他详细信息。

  

  至此,发布与订阅都已完成。在服务器A中One这个数据库中,会发现多了一张aaa的数据表,这表示B服务器的数据传到A上了。当在服务器B修改aaa表中的记录(源数据)时,A里面的记录(目标数据)也会改变。

总结:搞了几天这个数据发布与订阅,但是感觉这个并不是很好用,灵活性上不好,感觉都不如kettle这种开源软件用着方便。

时间: 2024-10-13 00:38:48

发布与订阅SQLServer的相关文章

SqlServer 禁止架构更改的复制中手动修复使在发布和订阅中分别增加字段同步

由于之前的需要,禁止了复制架构更改,以至在发布中添加一个字段,并不会同步到订阅中,而现在又在订阅中添加了一个同名字段,怎么使这发布和订阅的两个字段建立同步关系呢? 下面就测试更改:此次发布类型为事务复制的可更新订阅,其他类型的发布没有测试. 首先建立事务复制的可更新订阅,建立好之后. 在发布创建一张测试表: CREATE TABLE [dbo].[DemoTab]( [Guid] [uniqueidentifier] NOT NULL, [SID] [varbinary](85) NOT NUL

SqlServer 数据库同步的两种方式 (发布、订阅),主从数据库之间的同步

最近在琢磨主从数据库之间的同步,公司正好也需要,在园子里找了一下,看到这篇博文比较详细,比较简单,本人亲自按步骤来过,现在分享给大家. 在这里要提醒大家的是(为了更好的理解,以下是本人自己理解,如有错误,请指出):主数据库一般是把数据发布出去,然后在连接从数据库对发布的数据进行订阅,同步到从数据库中. 1.发布.发布需要用实际的服务器名称,不能使用服务器的IP地址进行.能发布的信息包括[表].[存储过程].[用户函数]如果使用IP会有错误,如下图: 具体发布过程如下: 1.找到数据库服务器下的[

SqlServer2005 数据库发布、订阅配置图文详解

一:准备条件 <1>软件准备条件 机器A端:SqlServer2005 Management Studio + WinServer 2003 Enterprise (作为发布服务器) 机器B端:Sqlserver2005 Management Studio Express + WinXP(作为订阅服务器) (可以用别的,不过订阅服务器版本不得高于发布服务器版本) <2>数据库复制准备条件 1. 所有被同步的数据表尽量要用主键,如果没有主键也没有关系,SqlServer会提示为表自动

SQL SERVER发布与订阅

一.配置分发 1.配置分发服务器,注:配置发布与订阅,连接SQLSERVER必须用服务器名登录 2.配置分发 3.选择分发服务器 4.选择快照文件夹 5.设置此文件夹的读写权限为everyone 6.选择分发数据库路径 7.配置分发 8.配置分发 9.配置分发完成 二.新建发布 1.新建发布 2.选择发布数据库 3.选择发布类型 4.选择发布对象 5.指定何时运行快照代理 6.代理安全性 7.创建发布 8.填写发布名称 9.新建发布完成 三.新建订阅 1. 新建订阅 2. 查找sqlserver

MSSQL复制中的发布与订阅

准备条件 1.2台服务器 2.WINDOWS SERVER 2008 64bit + 3.SQL SERVER 2008 R2 + 4.MSSQLSERVER服务与MSSQLAGENT服务正常运行中 三步曲 第一步 配置分发服务器 第二步 配置发布服务器 第三步 配置订阅服务器 小技巧 1.一般来说,分发服务器与发布服务器在同一个服务器上的同一个实例,也可不同实例,同样也可不同服务器,而订阅服务器存在于单独的服务器上.发布与订阅存在1对多关系,1个发布可以同时存在多个订阅. 2.配置订阅服务器可

Sql2008 r2 使用ftp 发布和订阅方式同步数据

Sql2008 r2使用发布和订阅方式同步数据 由于很多图片 本篇没有图片 详情可以进入下载页  http://download.csdn.net/download/yefighter/7603741 1:发布服务器:发布方 sql2008 r2 iis7.5 windows server 2008 请登入服务器进行操作 不要用sqlserver远程连接 必须开启sqlserver agent服务以及开机自动启动 右键属性 打开sqlserver 点击新建本地发布 第一次发布的时候 会提示创建发

sqlserver2005发布与订阅配置步骤

1,新建发布 前提条件:第一要调通网络,在sqlserver configuration manager 中选择mssqlserver的协议把named pipes改为启用,第二要建立一个文件夹D:\backup并设置共享,everyone 有读写权限 具体步骤如下: 修改后点击复制里面的本地发布,点击右键,新建发布 点击下一步 点击下一步 选择第一选项点击下一步 第一次创建的时候需要选择快照的位置,这个位置每次创建发布的默认位置,可以把共享的文件夹给填进去,同时这个位置也可以改动,在创建发布后

SQL SERVER发布与订阅 [原创]

一.配置分发 1.配置分发服务器,注:配置发布与订阅,连接SQLSERVER必须用服务器名登录 2.配置分发 3.选择分发服务器 4.选择快照文件夹 5.设置此文件夹的读写权限为everyone 6.选择分发数据库路径 7.配置分发 8.配置分发 9.配置分发完成 二.新建发布 1.新建发布 2.选择发布数据库 3.选择发布类型 4.选择发布对象 5.指定何时运行快照代理 6.代理安全性 7.创建发布 8.填写发布名称 9.新建发布完成 三.新建订阅 1. 新建订阅 2. 查找sqlserver

发布、订阅数据库同步问题分享(一)

合并发布(复制)通常也是从发布数据库对象和数据的报表快照开始.并用触发器跟踪在发布服务器和订阅服务器中所做的后续数据更改和架构修改.订阅服务器与发布服务器在连接到网络时进行同步,并交换自上次同步以来发布服务器和订阅服务器间发生变化的所有行.允许站点对已经复制的数据进行匿名更改,并且在晚些时候合并更改和更加需要解决冲突.(数据合并可能导致主键冲突) 适用的情况: (1) 多个定语服务器可能会在不同的时间更新同一数据,这些更改将传播到发布服务器和其他订阅服务器. (2) 订阅服务器需要接手数据,脱机