现在的位置: 首页 > 综合 > 正文

sql server同步自我实践的体会和疑问

2013年03月05日 ⁄ 综合 ⁄ 共 876字 ⁄ 字号 评论关闭

  昨天开始接触sql server复制的时候,算是对这个方面一无所知,但是我的所想要通过这个功能达到的目标非常的明确----完成两个sql server数据库中数据的同步,即数据库A中数据的任何改动能及时的反映到数据库B中。
  那么有集中情况需要确认:1) 数据库A和B在一台机器上
              2)数据库A和B在两台机器上,但是在同一网段
              3)数据库A和B在两台机器上,但是在不同网段

  首先是从自己的机器入手。
  我作为测试,就用pubs数据库生成sql脚本,新建了一个myPubs的数据库。
  刚开始的时候,我注册的sql server全部都是用的IP地址,于是怎么也不能配置发布,查看了一些资料后才发现,不能使用IP地址和local这样作为名字。这个问题折腾了快一个上午,算是解决了。
  在同一个机器上面同步两个数据库,没有任何的问题。(但是,后来我发现myPubs数据库中没有主键和外键)

  但是两台机器上就有了问题。到昨天下班为止也没能解决两台的同步问题。
  今早来,我用了其他两台操作系统都是windows2000 server的机器做测试,从一台的pubs同步到另外一台机器的mypubs,成功!开心啊!
  但是,如果行同步到自己机器的myPubs依然不行,不知道是不是自己的操作系统是XP的缘故了。

  总结这一天半来得成果:
  1、两台机器sql server的同步是可以实现的,不同网段的还需要进一步证实。
  2、(疑问)订阅的数据库,数据表是否不能存在主键和外键等等这样的约束?
   --好像是不能存在约束的,因为如果选择的订阅数据库是系统本身的pubs的话,那么同步是不能完成的。会提示一些诸如“无法去除表titleauthor,因为它正用于复制”这类的提醒,而导致失败。

  所以,现在自己不能确定的就是:
  1、是不是订阅数据库中的数据表之间不能建立主键和外键的约束?
  2、是不是一定要求操作系统是windows2000 server才可?
  3、不同网段的数据库是否能实现这样的同步操作?
  

抱歉!评论已关闭.