在做SQL故障转移群集的时候应该选择哪种模式?

如果我们的SQL Server要保证高可用性,那么可以采用故障转移群集。最简单的故障转移群集是两台服务器,一台做活动的服务器,另一台做备用服务器,这就是AP模式的Cluster。另外一个模式就是AA模式,也就是两台服务器都是运行SQL Server实例。

SQL Server不像Oracle一样有RAC,所以不可能说两台服务器同时运行同一个实例,想要两台服务器都使用起来的话,那么只有各自运行一个实例。

那么我们企业里面要做Cluster的时候,到底应该做AP模式的还是做AA模式的呢?

AP模式是在两台服务器上安装一个数据库实例,只有一台服务器负责该数据库实例的全部运算和操作,另外一台服务器闲置。当活动的服务器发生故障时,系统自动启动另一台服务器的实例,实现故障转移。AP模式的最大缺点就是资源利用率低,只有一台服务器在被使用。

AA模式是在两台服务器上安装两个数据库实例,每台服务器分别运行一个数据库实例。当某一台服务器发生故障时系统将把发生故障的服务器上的数据库实例切换到另一台服务器上运行,也就是说另一台服务器上同时运行两个实例,当服务器恢复正常后再手动将一个数据库实例切换回另一台服务器。AA模式保证了两台服务器资源都被利用。

关于1个数据库实例中2个数据库和2个数据库实例中各1个数据库的区别:

1. 1个数据库实例中的2个数据库都必须运行在同一台服务器上,所以如果2个数据库都具有大量的运算占用大量的资源,则可能造成数据库服务器压力过大,运行缓慢;而2个实例中各1个数据库则可以将每个实例部署在不同的服务器上,各自使用各自服务器的资源,相互没有影响。

2. 1个实例中2个数据库的相互访问比较简单,可以对2个数据库进行事务操作;而2个实例中的数据库要相互访问则需要通过链接服务器或者其他方式来访问,如果要在2个实例中进行事务操作则需要启用分布式事务MSDTC,使用分布式事务将会使事务时间变长,事务出现错误的可能更大,甚至出现各种灵异的错误,所以一般不推荐使用分布式事务。

所以,如果我们在有足够资源(也就是很有钱的意思)的情况下,而且想简单一点,那么我们就做AP模式。毕竟AA模式比AP模式更复杂,更难于管理。如果我们想充分利用服务器资源,服务器有限,而且多个数据库之间不存在分布式事务的话,那么用AA模式是一个不错的选择。

以以前的经验来看,最好不要使用分布式事务,会遇到各种各样灵异的问题。

时间: 2024-09-13 12:42:17

在做SQL故障转移群集的时候应该选择哪种模式?的相关文章

实现SQL故障转移群集

在实际环境中,假设一个域有三个服务器,一台作为域控制器,另两台加入到域中作为群集的两个节点,每台服务器均有两块网卡,其中一块网卡作为群集内部通信接口(俗称"心跳"),连接到一个内部交换机上,另一块网卡作为群集外部通信接口,连接到一个外部交换机上.每台服务器的内部驱动器用于安装操作系统和应用软件,内部驱动器可以是IDE硬盘也可以是SCSI硬盘. 每台服务器通过SCSI卡连接到群集外部共享磁盘阵列,这必须是SCSI硬盘.共享磁盘阵列分为两种类型:一种是仲裁磁盘(也叫日志磁盘,英文:quor

如何创建SQL Server 2000故障转移群集

在创建SQL Server 2000 故障转移群集之前,必须配置 Microsoft 群集服务 (MSCS) 并使用 Microsoft Windows NT4.0 或 Windows 2000 中的群集管理员创建至少一个群集磁盘资源.在运行 SQL Server 安装程序之前,在群集管理员中记下群集驱动器的位置,因为创建新的故障转移群集需要该信息.只有SQL Server 2000 企业版才支持群集. 在创建SQL Server 2000 故障转移群集之前,必须配置 Microsoft 群集服

如何创建SQL Server 2000故障转移群集_MsSql

在创建SQL Server 2000 故障转移群集之前,必须配置 Microsoft 群集服务 (MSCS) 并使用 Microsoft Windows NT4.0 或 Windows 2000 中的群集管理员创建至少一个群集磁盘资源.在运行 SQL Server 安装程序之前,在群集管理员中记下群集驱动器的位置,因为创建新的故障转移群集需要该信息.只有SQL Server 2000 企业版才支持群集. 1. 在"Microsoft SQL Server 安装向导的"欢迎"屏

Windows Server 2008故障转移群集上部署Exchange Server 2007 SP1 CCR群集

记得去年有写过一片Exchange Server 2007 SP1 CCR的文章,不过是基于Windows Server 2003的平台.Windows Server 2008的故障转移群集已经做过很多次的项目,包括SQL 2005.Exchange 2007等.今天准备将邮件的CCR功能再重复一遍给热爱微软技术的朋友们,希望大家支持. 先决条件 一 Before you can follow along with the steps provided in this article serie

SQLServer 2012异常问题(一)--故障转移群集+镜像环境导致作业执行失败

原文:SQLServer 2012异常问题(一)--故障转移群集+镜像环境导致作业执行失败 先感谢一下我的同事们最先发现此问题,鸣谢:向飞.志刚.海云 最近在生产环境发现一个诡异的问题: 环境:WINDOWS 2012+SQLSERVER 2012 SP1,双节点的故障转移群集+单节点的SQLSERVER 2012 SP1实例(镜像) 生产数据库是从SQLSERVER 2008R2迁移到2012的,迁移过程很顺利,按照一般经验,可能导致数据库所有者丢失,因此在迁移后手动修改数据库所有者为sa,与

LiveMigration实战之七:配置故障转移群集

在上文中创建了故障转移群集后,我们将在本文中对故障转移群集进行配置,主要是配置故障转移群集使用的仲裁磁盘和群集共享卷.在Server1的"Administrative Tools"中打开"Failover Cluster Manager",如图1所示,右键点击群集根节点,选择"Configure Cluster Quorum Settings",准备对群集的仲裁设备进行配置. 图1 如图2所示,出现配置向导,点击"Next"继

LiveMigration实战之六:创建故障转移群集

在Server1和Server2上安装了Hyper-V角色后 ,我们就可以来创建故障转移群集了.只有在故障转移群集中,我们才可以实现Hyper-V虚拟机的动态迁移和快速迁移.我们在Server1为例为大家介绍如何进行故障转移群集的创建,如图1所示,在Server1的"Server Manager"中右键点击"Feature",选择"Add Features". 图1 如图2所示,在功能列表中我们选择"Failover Clusterin

从Windows 2008故障转移群集中退出节点

本主题说明如何使用故障转移群集管理工具或 Cluster.exe 从 Windows Server 2008 故障转移群集中退出节点.从群集中退出某个节点后,该节点就不能驻留群集邮箱服务器. 如果因为任何原因尝试从故障转移群集中退出节点时失败,都可以使用本主题中的最后一个过程强制从群集中退出节点. 开始之前,必须将任何现有群集邮箱服务器移动到其他节点,然后从要退出的节点卸载 Microsoft Exchange Server 2007. 若要执行下列步骤,必须为您使用的帐户委派要删除的节点的本地

Windows 2008 R2实战之二十九:故障转移群集(一)

关于Windows Server 2008故障转移群集见http://technet.microsoft.com/zh-cn/library/cc732488(WS.10).aspx 实验环境: 两台已安装好Windows Server 2008 R2的计算机R2DC01.R2DC02,均为DC.DNS,域名为HBYCRSJ.COM,均有两块网卡.分别为心跳网络和本地连接,计算机R2DC01的网络设置如下图 另外一台计算机对应网卡的IP地址为10.10.10.14.