SQLSERVER2005数据库复制
一.复制发布模型概述
复制使用出版业术语表示复制拓扑中的组件,其中有发布服务器、分发服务器、订阅服务器、发布、项目和订阅。
发布服务器发布服务器是一种数据库实例,它通过复制向其他位置提供数据。发布服务器可以有一个或多个发布,每个发布定义一组要复制的具有逻辑关系的对象和数据。分发服务器分发服务器也是一种数据库实例,它起着存储区的作用,用于复制与一个或多个发布服务器相关联的特定数据。每个发布服务器都与分发服务器中的单个数据库(称作分发数据库)相关联。分发数据库存储复制状态数据和有关发布的元数据,并且在某些情况下为从发布服务器向订阅服务器移动的数据起着排队的作用。在很多情况下,一个数据库服务器实例充当发布服务器和分发服务器两个角色。这称为“本地分发服务器”。当发布服务器和分发服务器按各自的数据库服务器实例配置时,把分发服务器称为“远程分发服务器”。订阅服务器订阅服务器是接收复制数据的数据库实例。订阅服务器可以接收来自多个发布服务器和发布的数据。根据所选的复制类型,订阅服务器还可以将数据更改传递回发布服务器或者将数据重新发布到其他订阅服务器。项目项目用于标识发布中包含的数据库对象。一次发布可以包含不同类型的项目,包括表、视图、存储过程和其他对象。当把表作为项目发布时,可以用筛选器限制发送到订阅服务器的数据的列和行。发布发布是一个数据库中的一个或多个项目的集合。将多个项目分组成一个发布,使得更便于指定一组作为一个单元复制的、具有逻辑关系的数据库对象和数据。订阅
f订阅是把发布副本传递到订阅服务器的请求。订阅定义将接收的发布和接收的时间、地点。有两种类型的订阅:推送订阅和请求订阅。
二.
选择复制类型
MicrosoftSQLServer2005提供了下列可在分布式应用程序中使用的复制类型:事务性复制,合并复制,快照复制。事务性复制通常用于服务器到服务器环境中,在以下各种情况下适合采用事务性复制。1希望发生增量更改时将其传播到订阅服务器。
2从发布服务器上发生更改,至更改到达订阅服务器,应用程序需要这两者之间的滞后时
间较短。
3应用程序需要访问中间数据状态。例如某一行更改了5次,事务复制将允许应用程序响
应每次更改(例如,激发触发器),而不只是响应该行最终的数据更改。
4发布服务器有大量的插入、更改、删除活动。5当必须在数据被修改时对其进行复制,以及发布服务r