最近遇到一个项目,客户在总部录入信息后,数据需要同步到下属的若干个子系统中。现在总部单独使用一个数据库,下属单位各自使用自己的数据库。
对于这个问题,想到了几个解决方案:
1、自己写代码解决。定义好访问每个数据的连接字符串,总部添加数据时,同时写入其他所有数据,修改,删除的也同时进行。这个方法有一个优点两个缺点:
优点:思路简单,做起来也不难;
缺点:a、数据完整性和有效性不好保障;
b、代码繁琐,工作量大;
2、使用数据库本身的复制功能。以前没有用过这个功能,在网上查了查资料,用了两天时间,对这个东西有了初步的了解。以下转载邹大哥,以便将来查阅:
复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。
SQL复制的基本元素包括
出版服务器:数据源所在的服务器。犹如图书出版社;
订阅服务器:需要同步数据的服务器,犹如图书订阅者,图书馆,书店等;
分发服务器:把数据从数据源复制到目标数据库的服务器,犹如邮局,快递公司;
出版物:要复制的数据的集合,犹如某批图书;
文章 :要复制的数据项目,犹如某套图书;
SQL复制的工作原理
SQL SERVER 主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器 。
SQL SERVER复制技术类型
SQL SERVER提供了三种复制技术,分别是: