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 吗 ?
设置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博客 ” ,链接:http://blog.itpub.net/35489/viewspace-670901/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-670901/
本文探讨了在Windows2003环境下使用SQL Server 2000 SP4进行数据库间表数据同步复制的过程。详细解释了如何利用SQL Server的复制功能实现从发布者数据库到订阅者数据库的数据同步,并分析了首次同步时的表结构与数据导入流程。
7万+

被折叠的 条评论
为什么被折叠?



