SQL Server复制是从一个源数据库将数据分配到企业内一个或多个目的数据库的过程。这个过程由数据库管理员建立并由数据库引擎自动维护。SQL Server 2000企业管理器中包含一些相对简单而直接的向导,它们将帮助你完成建立过程。但是,我们推荐一些与核心复制概念有关的信息。
为何使用复制?
复制可用于许多方面。例如,复制是维护报告服务器的完美解决方案。你可以使用复制将必要的数据对象传送到一个报告数据库上(最好是一台单独的服务器),以满足公司的报告需求,并同时减轻OLTP服务器的负担。当你把数据复制到报告服务器中时,复制还允许你进行数据传输,这意味着你只能复制所需表的行或列。除表外,你还可以复制对象,如视图、用户定义的函数、以及存储过程。在要复制的表中,你还可以包括限制、索引和触发器。
除报告作用以外,你还可以使用复制在生产服务器中标出一些作业。在这种情况下,应该将数据对象从生产环境复制到单独一台服务器中。所需的作业在这台服务器上发生。一旦完成必要的作业,进行的改变就被传送回生产服务器,从而有效地缓解生产服务器的作业负担。
复制的另一优势在于,它允许你将数据复制到不同的地理位置以便使用。一个组织的分公司就可以采用这种方法。总公司对“主”数据库进行维护,每个分公司拥有这个数据库的一个拷贝。分公司能够查看并修改分配给他们的数据库,任何修改可以在配置时间返还总公司数据库,并与其合并。然后总公司将这些修改分发到所有其它分公司。允许每个分公司拥有自己独立的数据库,并将改变在休息时间返还,这样可以有效地降低总公司与分公司之间的网络流量。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/sqlserver/)复制类型
共有三种类型的复制,每种适用一种特别的需要。下面简单说明这三种复制:
快照型:这是最简单的复制类型。它在特定的时刻瞬间将数据库对象发送到订阅服务器。这种复制产生非常少的额外开销,因为系统不会一直检查复制变化。但是,被复制的对象仅与最近的快照同步。 合并型:这种形式的复制以最初的快照应用于目的数据库开始。当目的数据库的数据被修改时,变化返还源数据库进行合并。然后,源数据库可以向其它目的数据库发布这些变化。这允许这些目的数据库进行离线工作,并在必要时返还源数据库进行合并。 事务型:通过这种形式的复制,事务日志上发生的任何改变立即提交给订阅服务器。它允许你根据为数据配置的滞后时间,使源数据库与目的数据库“几乎”保持同步。因为变化几乎实时同步,这种复制产生大量的额外开销。事务型复制还可实现双向支持。目的数据库上的数据改变能够传送回源数据库。以复制为高实用性的解决方案
在我看来,复制并不是一个非常适合的高实用性解决方案。复制有出错的倾向。这些错误一般都是小错误,很容易得到修复,不过它们仍然还是错误。而且,与日志传送一样,对复制数据库的故障修复需要手工操作,它还要仔细规划,费时而且可能会遗失数据。
其它复制相关信息
本文只是概括说明了SQL Server 2000中的复制选项。要了解SQL Server 2000复制的详细信息,请参考这篇MSDN文章。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/sqlserver/)Tim Chapman是肯塔基州路易维尔市一家银行的SQL Server数据库管理员,他有超过7年的IT行业经验。他还通过了微软SQL Server 2000和SQL Server 2005的认证。