利用数据库复制技术 实现数据同步更新

利用数据库复制技术  实现数据同步更新 
  复制的概念 
  复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。 
  SQL复制的基本元素包括 
  出版服务器、订阅服务器、分发服务器、出版物、文章 
  SQL复制的工作原理 
  SQL  SERVER  主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器 
  SQL  SERVER复制技术类型 
  SQL  SERVER提供了三种复制技术,分别是: 
  1、快照复制(呆会我们就使用这个) 
  2、事务复制 
  3、合并复制 
  只要把上面这些概念弄清楚了那么对复制也就有了一定的理解。接下来我们就一步一步来实现复制的步骤。 
  第一先来配置出版服务器 
  (1)选中指定[服务器]节点 
  (2)从[工具]下拉菜单的[复制]子菜单中选择[发布、订阅服务器和分发]命令 
  (3)系统弹出一个对话框点[下一步]然后看着提示一直操作到完成。 
  (4)当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器。同时也生成一个分发数据库(distribution) 
  第二创建出版物 
  (1)选中指定的服务器 
  (2)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令。此时系统会弹出一个对话框 
  (3)选择要创建出版物的数据库,然后单击[创建发布] 
  (4)在[创建发布向导]的提示对话框中单击[下一步]系统就会弹出一个对话框。对话框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个大家可以去看看帮助)   
  (5)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型,SQLSERVER允许在不同的数据库如  ORACLE或ACCESS之间进行数据复制。但是在这里我们选择运行"SQL  SERVER  2000"的数据库服务器 
  (6)单击[下一步]系统就弹出一个定义文章的对话框也就是选择要出版的表 
  (7)然后[下一步]直到操作完成。当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库。 
  第三设计订阅 
  (1)选中指定的订阅服务器 
  (2)从[工具]下拉菜单中选择[复制]子菜单的[请求订阅] 
  (3)按照单击[下一步]操作直到系统会提示检查SQL  SERVER代理服务的运行状态,执行复制操作的前提条件是SQL  SERVER代理服务必须已经启动。 
  (4)单击[完成]。完成订阅操作。 
  完成上面的步骤其实复制也就是成功了。但是如何来知道复制是否成功了呢?这里可以通过这种方法来快速看是否成功。展开出版服务器下面的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调度把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。接下来就是判断复制是否成功了打开C:/Program  Files/Microsoft  SQL  Server/MSSQL/REPLDATA/unc/XIAOWANGZI_database_database下面看是不是有一些以时间做为文件名的文件夹差不多一分中就产生一个。要是你还不信的话就打开你的数据库看在订阅的服务器的指定订阅数据库下看是不是看到了你刚才所发布的表 
   
   
  /*****************  常见问题:权限问题   
   
  启动代理的域用户账号必须具有读取发布-分发服务器目录的权限 
  你用的账号没有读取//ServerA/D$/Program  Files/Microsoft  SQL  Server/MSSQL/repldata/unc/这个目录下的文件的权限。 
   
   
  启动代理的域用户账号必须具有读取发布-分发服务器目录的权限 
  ----^^^^^^^^^^^^^^^在控制面板-->管理-->服务-->sqlagent-->属性里的那个启动用户 
  --------------------------------------------------------------------------- 
  介绍实现复制的步骤。(以快照复制为例) 
   
  准备工作: 
   
  1.在发布服务器上,新建一个共享目录,做为发布的快照文件的存放目录,操作: 
   
  我的电脑--D:/  新建一个目录,名为:  PUB 
  --右键这个新建的目录 
  --属性--共享 
  --选择"共享该文件夹"(另外还可以通过"权限"按纽来设置具体的用户权限 
  --确定 
   
  2.设置SQL代理(SQLSERVERAGENT)服务的启动用户 
   
  开始--程序--管理工具--服务 
  --右键SQLSERVERAGENT 
  --属性--登陆--选择"此账户" 
  --输入"./Administrator",或者选择其他系统管理员 
  --"密码"中输入该用户的密码 
   
  3.设置SQL  Server身份验证模式,解决连接时的权限问题 
   
  企业管理器 
  --右键SQL实例--属性 
  --安全性--身份验证 
  --选择"SQL  Server  和  Windows" 
  --确定 
  4.在发布服务器和订阅服务器上互相注册 
  企业管理器 
  --右键SQL  Server组 
  --新建SQL  Server注册... 
  --下一步--可用的服务器中,输入你要注册的远程服务器名--添加 
  --下一步--连接使用,选择第二个"SQL  Server身份验证" 
  --下一步--输入用户名和密码 
  --下一步--选择SQL  Server组,也可以创建一个新组 
  --下一步--完成 
   


============================================== 
  正式开始: 
   
  1.配置发布服务器 
   
  a.  选中指定  [服务器]  节点 
  b.  从  [工具]  下拉菜单的  [复制]  子菜单中选择  [发布、订阅服务器和分发]  命令 
  c.  系统弹出一个对话框点  [下一步]  然后看着提示操作 
  --直到"指定快照文件夹" 
  --在"快照文件夹"中输入准备工作中创建的目录:  // <服务器名>/pub 
  一[下一步]  直操作到完成。 
  d.  当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器 
  同时也生成一个分发数据库(distribution) 
   
  --------------------------------------------------------------------------- 
   
  2.创建发布 
  a.  选中指定的服务器 
  b.  从  [工具]  菜单的  [复制]  子菜单中选择  [创建和管理发布]  命令。此时系统会弹出 
  一个对话框 
  c.  选择要创建发布的数据库,然后单击  [创建发布] 
  d.  在  [创建发布向导]  的提示对话框中单击  [下一步]  系统就会弹出一个对话框。对话 
  框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个 
  大家可以去看看帮助)   
  e.  单击  [下一步]  系统要求指定可以订阅该发布的数据库服务器类型,SQLSERVER允许在 
  不同的数据库如  ORACLE或ACCESS之间进行数据复制。但是在这里我们选择运行 
  "SQL  SERVER  2000"的数据库服务器 
  f.  单击  [下一步]  ,选择要发布的对象(如表,视图,存储过程,一般是表) 
  g.  然后  [下一步]  直到操作完成。当完成出版物的创建后创建出版物的数据库也就变成了 
  一个共享数据库。 
   
  --------------------------------------------------------------------------- 
   
  3.设计订阅 
  a.  选中指定的订阅服务器 
  b.  从  [工具]  下拉菜单中选择  [复制]  子菜单的  [请求订阅] 
  c.  按照提示单击  [下一步]  操作直到系统会提示检查SQL  SERVER代理服务的运行状态,执行 
  复制操作的前提条件是SQL  SERVER代理服务必须已经启动。 
  d.  单击  [完成]  完成订阅操作。 
   
  ---------------------------------------------------------------------------- 
  完成上面的步骤其实复制也就是成功了。但是如何来知道复制是否成功了呢? 
  这里可以通过这种方法来快速看是否成功。 
  展开出版服务器下面的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调度 
  把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。 
  接下来就是判断复制是否成功了打 
  开C:/Program  Files/Microsoft  SQL  Server/MSSQL/REPLDATA/unc/XIAOWANGZI_database_database下面 
  看是不是有一些以时间做为文件名的文件夹差不多一分中就产生一个。 
  要是你还不信的话就打开你的数据库看在订阅的服务器的指定订阅数据库下看是不是看到了你刚才所发布的表 
   
       
  一  配置发布服务器 
   
  在发布服务器上执行以下步骤: 
   
  (1)  从[工具]下拉菜单的[复制]子菜单中选择[配置发布、订阅服务器和分发]出现配置发布和分发向导   
  (2)  [下一步]  选择分发服务器  可以选择把发布服务器自己作为分发服务器或者其他sql的服务器 
  (3)  [下一步]  设置快照文件夹   
  一般采用默认//servername/d$/Program  Files/Microsoft  SQL  Server/MSSQL/ReplData 
  **(4)  [下一步]  自定义配置   
  可以选择: 
  是,让我设置分发数据库属性启用发布服务器或设置发布设置 
  否,使用下列默认设置 
   
  建议采用自定义设置 
  (5)  [下一步]  设置分发数据库名称和位置  采用默认值 
  (6)  [下一步]  启用发布服务器  选择作为发布的服务器 
  (7)  [下一步]  选择需要发布的数据库和发布类型 
  (8)  [下一步]  选择注册订阅服务器 
  (9)  [下一步]  完成配置 
   
   
  二  创建出版物 
   
  发布服务器上 
  (1)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令 
  (2)选择要创建出版物的数据库,然后单击[创建发布] 
  (3)在[创建发布向导]的提示对话框中单击[下一步]系统就会弹出一个对话框。 
  对话框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个大家可以去看看帮助) 
   
  (4)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型, 
  SQLSERVER允许在不同的数据库如  ORACLE或ACCESS之间进行数据复制。 
  但是在这里我们选择运行"SQL  SERVER  2000"的数据库服务器 
   
  (5)单击[下一步]系统就弹出一个定义文章的对话框也就是选择要出版的表 
   
  注意:  如果前面选择了事务发布  则再这一步中只能选择带有主键的表 
   
   
  (6)选择发布名称和描述 
   
  **(7)自定义发布属性   
   
  向导提供的选择: 
  是  我将自定义数据筛选,启用匿名订阅和或其他自定义属性 
  否  根据指定方式创建发布   
   
  建议采用自定义的方式 
   
  (8)[下一步]  选择筛选发布的方式   
  (9)[下一步]  可以选择是否允许匿名订阅 
   
  1)如果选择署名订阅,则需要在发布服务器上添加订阅服务器 
  方法:  [工具]->[复制]->[配置发布、订阅服务器和分发的属性]->[订阅服务器]  中添加 
   
  否则在订阅服务器上请求订阅时会出现的提示:改发布不允许匿名订阅 
  如果仍然需要匿名订阅则用以下解决办法   
  [企业管理器]->[复制]->[发布内容]->[属性]->[订阅选项]  选择允许匿名请求订阅 
   
  2)如果选择匿名订阅,则配置订阅服务器时不会出现以上提示 
   
   
  (10)[下一步]  设置快照  代理程序调度 
  (11)[下一步]  完成配置 
   
   
  当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库。 
   
   
  三  订阅服务器的配置 
   
   
  (一)  强制订阅的配置 
  在发布服务器上 
  [企业管理器]->[复制]->[发布内容]->[属性]->[订阅]->[强制新建] 
  然后出现强制订阅向导   
  选择订阅服务器->订阅数据库名->设置分发代理程序调度->初始化订阅->启动要求的服务 
  (发布服务器的agent要启动)->完成即可   
   
  (二)  请求订阅的配置 
   
  订阅服务器上执行以下操作 
   
  (1)  从[工具]下拉菜单中选择[复制]子菜单的[请求订阅] 
  (2)  选择[请求新订阅]  打开请求订阅向导 
  (3)  [下一步]选择已注册的发布 
  (4)  [下一步]选择创建订阅的数据库 
  (5)  [下一步]选择匿名订阅或署名订阅 
  (6)  [下一步]  初始化订阅  选择初始化架构和数据 
  (7)  [下一步]选择快照文件的存放位置  一般采用发布服务器的默认快照文件夹 
  **(8)  [下一步]设置分发代理程序调度  可以选择订阅更新内容的间隔 
  (9)  [下一步]系统会提示检查发布服务器的代理服务的运行状态 
  (10)  [下一步]  完成配置 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值