ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SQL Server2000表复制的原理问题

SQL Server2000表复制的原理问题

原创 Linux操作系统 作者:tolywang 时间:2010-08-13 08:39:43 0 删除 编辑
Windows 2003 ,  SQL Server 2000 SP4  .


设置A数据库到B数据库的两个table的数据同步复制,采用SQL Server的replication 功能,在A库上设置发布器后,
就会在A库SQL Server 的一个复制目录下生成3个文件, 分别是 xxx.bcp, xxx.idx , xxx.sch,   表示bulk copy 及index,  
表结构建立等 (如果有多个表,就生成多组这些文件),且A库中会建立一个distribute 库。 在B库上建立订阅后,我们可以
在job 执行的log history 中看到, 一般是先按照表名的顺序先执行建立表,建立索引, 所有表的这些结构建立完成后,才
开始按照表名的顺序导入数据, 观察好像是100000笔记录一次提交(提示是 100000 row(s) copied)。


问题:

1.   B库中的table不存在,首次同步的时候,需要将A库中的某个大表,比如1000万笔记录,同步复制过去,那么第一次
复制的时候是否会经过distribute 库 ?  还是直接通过 xxx.bcp, xxx.idx , xxx.sch 文件创建 ?     


2.   每个SQL Server服务器都将操作记录到Log中,Distribution通过Log Reader读取发布服务器上的Log,将操作
以SQL Commands的形式记录到Distribution库的表中。如果是Pull的形式订阅,那么Subscriber上会创建一个Job去
拉Distribution中需要执行的SQL Commands。   “发布服务器上的Log”  是指trn log 吗 ?

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/35489/viewspace-670901/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    14695370