一、为什么要使用对等事务复制
首先要说明的是使用sqlserver复制的目的
使用sqlserver数据库复制的目的,就是要将数据库压力由一台服务器分散到多台服务器,通过一台sqlserver服务器作为主机,将主数据库中的数据,复制到其他N台备份服务器上,从而实现分布式查询,大大降低了主服务器的压力.
在图一中,右面的拓扑结构就是典型的复制,写入的压力,全都在B这台服务器上,读取的压力平衡到两台机器上
图一
综上所述,使用sqlserver复制的目的就是均衡压力,提高sqlserver的高可用性
类似的能够提高数据库高可用性的解决方案目前有四种
1 windows集群实现sqlserver双机热备
2 sqlserver 数据库镜像
3 sqlserver日志传送
4 sqlserver复制
在这四种解决方案中,能够满足分布式数据库需求的只有sqlserver复制
其次为什么要使用事务复制呢?在sqlserver复制技术中,共有三种
1 快照复制
2 事务复制
3 合并复制
在这三种复制技术中
快照复制最简单,定时将主数据库中的所有数据,同步到其他备份机器中,这样做的缺点有两点,1 数据同步定时,不即时;2 浪费I/O资源,每次同步都是将主数据库中的所有数据同步到其他备份机器上.快照复制的主要用途是定期初始化备份机,例如在进行事务复制时可用设定每周进行一次快照复制,有效的保证了主数据库与其他备份数据库的数据一致性.
合并复制较为复杂,在合并复制中 主数据库与其他备份数据库可以同时修改一条数据,当发生冲突是,处理起来较为复杂.
事务复制是最适合做分布式的,首先,要求主数据库和其他备份数据库中的架构和数据一致(可以通过使用相同的备份还原,快照复制等方法),当数据库运行时,只用当主数据库中的架构或者数据发生变动,才产生事务将变动同步到其他备份数据库上.相比快照复制,同步即时,又省I/O资源.相比合并复制,简单,可靠.
那为什么要使用对等事务复制呢?
在sqlserver 事务复制中,又分为三种方式
1 标准事务复制
2 层次结构更新订阅事务复制
3 对等事务复制
在上面,介绍复制技术的三种方式中,已经将了标准事务复制的好处,但是这里要讲讲它的缺点,大家可以再仔细看看图一,就会发现,所有写入压力都在B这台服务器上,也就是说事务复制的瓶颈在于主服务器,当主服务器挂掉时,虽然其他备份数据依然可以提供读取服务,但是这个数据库系统已经挂掉了,不能写入了.
这时应该怎么办?别担心,Microsoft已经为我们提供了解决方案,那就是 可更新订阅的事务复制和对等事务复制
可更新订阅的事务复制有一个特性,可以同时在多个位置(服务器)更改同一行。这必然会带来冲突.
所以我们选择了对等事务复制,同一行在同一时间只能在一个位置修改.
图一中,左边的图,就是典型的对等事务复制,不单单读取的压力被分散到多台服务器上,连写入的压力也被分散了.
图二中就是一个典型的对等事务复制实施案例
图二
上图显示了三个参与数据库,它们作为一家在洛杉矶、伦敦和台北均设有办事处的国际软件支持单位的后端数据库。每个办事处的支持工程师接听客户电话,并输入和更新每个客户电话的相关信息。三个办事处的时区各相差八小时,因此不会出现工作日的重叠:台北办事处下班时,伦敦办事处正开始一天的工作。如果办事处下班时电话仍在进行中,则电话将被转接到下一个开始办公的办事处的代表。
每个地点都有一台数据库服务器和一台应用程序服务器,供支持工程师在输入和更新客户电话的相关信息时使用。拓扑按时间进行分区,因此更新只发生在正在办公的节点。然后更新流动到其他参与数据库。此拓扑具有下列优点:
-
独立,但不孤立:每个办事处都可以独立插入、更新或删除数据,还可以共享数据,因为数据将复制到其他所有的参与数据库。
-
出现故障或维护任一参与数据库的同时可提供更高的可用性。
图三
上图显示了向三节点拓扑添加节点的过程。当出现下列情形时,可以添加一个节点:
二、怎样实现对等事务复制
在这里,将演示怎样配置两个sqlserver实例中的数据库来实现对等事务复制
首先要介绍下试验环境,YUANLQ/SQLSERVER2005和./SQLSERVERcopy
主数据库就是YUANLQ/SQLSERVER2005中,实例数据库AdventureWorks
前提条件
1 ./SQLSERVERcopy中需要有一个和主数据库结构完全一样的数据库,在这里我们使用advW来进行演示
2 确保所有sqlserver实例的代理服务器都开启,下图中,两个sqlserver实例的代理都亮起了绿色,表示运行正常.
在这里要说明的一点,这两个实例都曾发布过复制,并且分发服务器选择的都是本地,所以,在演示中不会出现要求配置分发服务器的界面
开始配置
首先在 主机上发布事务复制
选择需要对等事务复制的数据库
下一步,选择复制方式 事务复制
下一步 选择要发布的对象 在这里选择全部
下一步,这里说明了某些问题可能导致更改程序
下一步,由于对等事务复制不支持筛选,所以这里直接跳过
下一步, 因为备份数据库中个结构和数据与主数据库完全一致,所以这里什么都不选,直接跳过
下一步,配置代理,点击快照代理的安全设置
进入 安全设置中,在这里,推荐做法是专门为代理设置widows帐户,我这里偷懒了
下面的一项是发布服务器帐户,我专门为它开通了一个sqlserver登陆账户
确定之后回到 代理安全性
下一步创建发布
需要给发布一个名称
点击完成,开始发布
发布完成
点击关闭就好了
想要进行对等事务复制还要修改复制属性
在备份实例中,也要进行相应的操作,只是要注意一点,发布名称要和主数据库实例中的发布名称一致就好了,下图中,能够看到 两个sqlserver实例都发布了自己的事务复制
下面开始配置对等事务复制,这里需要注意的是,只须在主服务器上配置就可以了
这里需要将所有备份数据库所在的sqlserver实例添加进来,点击添加sqlserver
登陆到这些备份sqlserver实例上去,选择对等数据库
点击红色圆圈中的按钮
下一步
最终,我们能够看到,两个sqlserver实例都发布了自己的事务复制,也都订阅了对方的事务复制
=================================================
赶快连接两个sqlserver实例试试吧,修改其中任何一个库中的数据,过1到2秒之后,就会同步到另一个库中.
配置对等事务复制完毕.
分享到:
相关推荐
sql server中分布式查询随笔(链接服务器(sp_addlinkedserver)和远程登录映射(sp_addlinkedsrvlogin)使用
SQL Server 分布式事务服务器的配置 SQL Server 分布式事务服务器的配置是一个复杂的过程,涉及到多个方面的设置和配置。以下是配置的详细步骤和知识点: 1. 启动 MSDTC 服务 MSDTC(Distributed Transaction ...
基于SQL SERVER的分布式数据库设计与实现
可扩展标记语言XML已成为当今互联网数据描述和交换的标准,...该文讨论了XML技术和SQL Server 2005如何结合发挥作用,并描述了在SQL Server 2005中对XML的支持,最后给出如何使用XML和SQL Server 2005实现分布式系统集成。
详解SQL Server分布式查询 SQL Server中的分布式查询(Distributed Query)是指能够访问存放在同一部计算机或不同计算机上的SQL Server或不同种类的数据源。分布式查询与普通查询的区别在于它需要连接多个MSSQL...
在SQL SERVER中使用分布式事务全攻略(图解) [原创文章] 作者:cyw 操作系统:Win2003 Enterprise Edition。 版本:5.2.3790 Service Pack 2 内部版本号 3790。 数据库:SQL Server 2000 企业版 + SP4 + SP4后的...
Microsoft SQL Server 2005 Backward Compatibility Components (Microsoft SQL Server 2005 向后兼容组件) SQL Server Backward Compatibility 包中包含最新版本的 Data Transformation Services 2000 运行时 (DTS)...
#资源达人分享计划#
Microsoft SQL Server 2005 向后兼容组件SQLServer2005_BC.msi
SQL Server Backward Compatibility 包中包含最新版本的 Data Transformation Services 2000 运行时 (DTS)、SQL 分布式管理对象 (SQL-DMO)、决策支持对象 (DSO) 和 SQL 虚拟设备接口 (SQLVDI)。为了与 SQL Server ...
SQL SERVER 分布式查询配置,包含配置工具
SQL SERVER 2000分布式应用.pdf
本书通过大量翔实的示例,向读者展示了SQL Server 2005数据库的原理、开发、应用及管理的相关技术和技巧。全书15章,可分为3大部分:第1部分(第1、2章)概述了数据库的基本原理,包括数据处理的基础知识、数据库的基本...
sql server 2005 sp4补丁。 sql server 2005 sp4补丁 sql server 2005 sp4补丁 希望有人能用到。
这里的文档详细介绍了SQL Server2005的体系架构,对开发数据库应用程序很有帮助
sql server 2005 完整版,下载压缩文件,里面含有32位的和64位的可选择
浅析SQL Server 2000分布式分区视图.pdf
│ Sql Server 2005中的架构(Schema)用户(User)角色(Role)和登录(Login).pdf │ ├─14 数据库备份与恢复 │ Backup.sql │ └─15 其它应用 other.sql SQL Server将数据导出SQL脚本的方法_sql.sql SqlDB.bat ...
SQL Server 2005提供了一个完整的商业智能架构,包括数据仓库、OLAP、数据挖掘等多个方面。该架构可以帮助企业快速地建立商业智能系统,提高经营效率和竞争力。 商业智能工具 商业智能工具是指用于支持商业智能...