本文共 2747 字,大约阅读时间需要 9 分钟。
复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。
主要用于分布式数据库技术,采用的主要方式为SQL重现法。
SQL重现法需要为每个源表建立触发器,当源表发生修改、插入和删除操作时,触发器被启动,通过调用存储过程,将源表发生的操作还原为SQL语句,向该源表对应的变更轨迹表中插入变更时间和还原后的SQL语句,可大致分为变化捕获和数据分发步骤。
将源表发生的变化应用于目标表,执行成功后删除变更轨迹表中对应序号的记录
SQL SERVER 主要采用Publisher、Subscriber的方式来处理复制。源数据所在的服务器是Publisher服务器,负责提供数据。出版服务器把要提供的数据的所有改变情况的拷贝复制到Subscriber服务器,Subscriber服务器包含有一个Subscriber数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给Subscriber服务器。
按照复制目标来划分:
1. 快照复制(snapshot)
新建一个快照,放到指定的目录下面供Subscriber访问。
2. 事务复制(transaction)
备份日志,放到指定的目录下面供Subscriber访问。
3. 合并复制(merge)
“基于SQL重现法”,为源数据库中的复制对象(源表或视图)创建变更轨迹表,当源表发生变化时,变更轨迹表中记录了变更情况,再通过事后从变更轨迹表中获取SQL语句,将源表中的数据复制到目标表中。
按照复制方式来划分:
1. SQL Server Agent 提供基于调度的复制
2. 手工复制(写SQL)
在开发跨地域进销存管理系统时,如何实现不同地区的数据同步,如何保持数据的一致性、及时性成为系统成败的关键。我们成功地解决了这个问题,现介绍如下。
系统环境数据库系统:SQL Server 2005
操作系统:WINDOWS NT 4.0,IIS4.0
网络:销售中心通过一条专线连接到Internet,各地区分销点通过modem拨号连接到Internet。
复制策略综合考虑各种因素,如数据联系的紧密程度、网络的可靠性、费用等,我们选择分散处理数据,定时同步数据的方式。为此,我们把数据分为两类:只需单向复制的数据(例如系统的基础数据、一部分日常处理的数据)、需双向复制的数据(一部分日常处理的数据)。
不同类型的数据需采用不同的复制策略。
只需单向复制的数据又可分为:由销售中心维护,分发给各分销点的数据;由各分销点维护,汇总到销售中心的数据。
由销售中心维护,分发给各分销点的数据在销售中心的SQL Server上设定其自身作为出版服务器和分发服务器,定义好出版物,采用事物复制模型和匿名订阅方式。
在分销点的SQL Server上设定拉式订阅。由各分销点维护,汇总到销售中心的数据在分销点的SQL Server上设定其自身作为出版服务器和分发服务器,销售中心的SQL Server作为订阅服务器。定义好出版物,采用事物复制模型。并设定推式订阅,将数据复制到销售中心。
需双向复制的数据在销售中心的SQL Server上设定其自身作为出版服务器和分发服务器,定义好出版物,采用合并复制模型和匿名订阅方式。在分销点的SQL Server上设定拉式订阅。
为什么采用上述复制策略呢?这是因为销售中心的计算机上有固定IP,而分销点的计算机上只有动态IP以及数据有不同的分类。
备份整个数据库中的所有数据,用这个备份文件就可以恢复整个数据库到备份的时间截止的内容.这种备份生成的备份文件最大,需要的时间最长,对实际业务的影响最大(如果数据库大的话)
备份自上次完全备份后,数据库所做的改变.在差异备份前,必须有一次完全备份,而还原时,也必须先恢复完全备份,然后再在完全备份的基础上恢复差异备份,不能用它单独恢复数据库.差异备份生成的文件比完全备份小,需要的时间比较短
备份自上次备份后,数据库所做的改变,在进行日志备份前,也必须有一次完全备份.还原的时候,先还原完全备份,再还原日志备份前,完全备份后的最近一次差异备份(如果有的话),然后再依次还原各次日志备份.这种备份生成的备份文件最小,处理时间也最少,对业务的影响很小,可以经常做
这种备份的使用很少,一般适用于重要数据的备份,这要求在设计数据库时,把保存重要的数据的表,放到单独的文件组中,这样就可以单独对重新的表进行备份.这种备份方式很少使用,它的前提也是要一个完全备份
备份文件大小 | 处理时间 | 对业务的影响 | 数据重要性 | 备注 | |
完全备份 | 最大 | 最长 | 最大 | 任何数据 | |
差异备份 | 较小 | 较短 | 较小 | 任何数据 | 需要完全备份一次 |
日志备份 | 最小 | 最短 | 最小 | 任何数据 | 需要完全备份一次 |
文件/文件组备份 | 较大 | 较长 | 较大 | 重要数据 |
综上所述,做一个合理的备份方案,应该是这样:
转载地址:http://txhpi.baihongyu.com/