SQL server故障转移和负载均衡

集群方案分析 集群方案分析 前言 目的 在我司部分项目实施过程中,用户提出了要求采用”双机”的方案。目前业内双机技术方案比较多,能解决的问题、达到的目标、用户拥有成本也不相同。本文试图给出主要技术方案的比较,供项目选型参考。 集群的概念 计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。集群系统中的 阅读详情

SQL server故障转移和负载均衡的实现。我想达到搭建多台SQL server达到负载均衡和自动故障转移群集,有什么方法可以实现?是否可以靠微软的群集技术可以实现?我问了有些人,有些说可以,是因为“SQL的集群应该有两种方式:主动/主动和主动/被动,负载均衡功能利用主动/主动方式可以实现!”大部分人说不可以,是因为SQL只支持单点数据写入,保证数据的一致性。

如下:用户连接虚拟IP192.168.1.1,用户的请求访问实际是连接主动节点A写入数据,如果用户请求造成主动节点A性能负载过高。其他用户连接虚拟IP192.168.1.1,则把请求访问连接到被动节点B(偏向于负载均衡功能)。而且如果被动节点出现了故障宕机,所有的用户访问请求立即转移至主动节点A。(偏向于主动故障转移群集)

回答:根据您的描述,您遇到的问题是:想要询问是否可以搭建多台SQL服务器来实现负载均衡和自动故障转移群集的功能。负载均衡:如果当主节点A的负载过高的时候,能够将一些客户端的请求转移到备节点B上。故障转移群集:当主节点由于某些原因宕机的时候,能够将SQL服务自动切换到备节点B上。您看到的文章来自活动目录seo http://gnaw0725.blogbus.com/c1404551/

情况分析

一般来说,SQL的数据库引擎服务是不支持负载均衡的功能的。因为就像您已经询问过的大部分人说的那样,在同一时间,SQL的数据文件只能由一个SQL服务读写,目的是为了保证数据的一致性。如果多个SQL服务同时对数据文件进行操作的话,很可能会发生数据不一致的问题,最终会导致数据库损坏的结果。

另外,针对少数人提到的通过主动/主动的群集方式可以实现负载均衡的说法,我需要解释一下:

主动/主动的群集方式,是指在2个节点(A和B)上,安装2套SQL群集实例(C和D)。节点A作为群集C的主动节点,同时是群集D的备动节点;而节点B作为群集D的主动节点,同时也是群集C的备动节点。所以说这个方法并不是真正意义上的负载均衡,因为它是有2套SQL群集实例,对应的分别使用2个SQL数据库文件。关于SQL的自动故障转移群集的功能如何创建,您可以详细参考一下以下文章:

关于如何创建SQL 2008 R2群集,请参考

如何创建新的 SQL Server 故障转移群集(安装程序)
http://msdn.microsoft.com/zh-cn/library/ms179530.aspx 

关于如何创建SQL 2008群集您看到的文章来自活动目录seo http://gnaw0725.blogbus.com/c1404551/

如何创建新的 SQL Server 故障转移群集(安装程序)
http://msdn.microsoft.com/zh-cn/library/ms179530(v=SQL.100).aspx 

关于如何创建SQL 2005群集

如何创建新的 SQL Server 2005 故障转移群集(安装)
http://msdn.microsoft.com/zh-cn/library/ms179530(v=SQL.90).aspx 

关于如何创建SQL 2000群集

SQL Server 2000 Failover Clustering
http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/failclus.mspx

关于您对于镜像的疑问,我做一下解释:

首先,SQL数据库的镜像机制可以做到数据的冗余,即A节点上的数据库中的数据可以同步到节点B上的数据库中;而且当节点A宕机之后,服务会自动切换到节点B上,对于最终用户来说是不会有任何影响的。

但是需要注意的是,在主机(即节点A)正常提供数据库服务的时候,镜像机制中的备机(即节点B)上的同一数据库,对于最终用户来说,是不提供读写操作的,仅仅是起到同步数据的功能。仅仅当主机宕机之后,服务切换到节点B上,此时该数据库才能提供数据库服务。

所以说,SQL数据库镜像机制可以起到数据冗余以及故障转移的功能,但是也不会起到负载均衡的功能。

SQL Server的群集技术支持故障转移功能,但是不支持数据冗余和负载均衡。而SQL Server的数据库镜像技术支持数据冗余+故障转移功能,但是也不支持负载均衡。因为在SQL Server的数据库服务中,是没有负载均衡这个概念的,因为考虑到数据一致性的因素。

所以说,如果您想要实现多机热备(冗余+故障转移),我们可以采用数据库镜像技术来实现,或者可以考虑采用群集技术+数据库镜像技术来一起实现。也就是说,采用群集技术来达到故障转移的功能,同时使用数据库镜像技术来达到数据冗余的功能。

Andy Zhao 微软全球技术支持中心

SQL server故障转移和负载均衡的相关文章请参考
sql 2008负载均衡
SQL Server群集
sql高可用性方案
SQL2005集群规划
Windows Server 2008 Cluster

sql群集切换
sqlserver群集安装配置解决方案|sqlserver2000/5
http://www.googlesyndicatedsearch.com/u/blogbus?hl=zh-CN&inlang=zh-CN&newwindow=1&ie=GB2312&q=site%3Agnaw0725.blogbus.com+SQL+server+NLB

SQL Server负载均衡及网络优化 同时,通过网络延迟优化、带宽优化和安全性优化等措施,可以提高数据库系统的响应速度、带宽利用率和安全性。通过以上代码示例,可以实现在多实例部署的SQL Server环境中,通过链接服务器和存储过程来实现负载均衡。通过对查询进行优化,可以减少查询的执行时间和系统资源的消耗,提高系统的响应速度和吞吐量。在数据库系统中,负载均衡和网络优化是关键的方面,用于提高数据库性能和可用性。以下是一个简单的SQL Server负载均衡的源代码示例,演示了如何使用多实例部署和负载均衡器来实现负载均衡。二、网络优化的重要性。 阅读详情

相关推荐

数据库高可用架构设计:集群、负载均衡与故障转移实践

数据库高可用架构设计是确保业务连续性的核心。无论是SQL Server的Always On可用性组,还是MySQL的InnoDB Cluster,它们都通过集群、负载均衡和故障转移机制,旨在消除单点故障,提升系统的可用性和可扩展性。选择合适的HA架构取决于业务需求、预算、团队技术栈和对RTO/RPO的要求。理解其工作原理,结合恰当的监控、测试与运维实践,才能真正构建起稳定、高效、可信赖的数据库基础设施,为企业的持续发展提供坚实的数据保障。

专栏 1011

server 2016部署网络负载平衡(NLB)

博文目录 一、网络负载平衡概述 二、NLB的群集操作模式 三、使用NLB群集的注意事项 四、部署NLB 一、网络负载平衡概述 网络负载平衡(Network Load Balancing,NLB)技术就是将访问压力均衡分布到多台服务器上,以此提高整个服务器集群的响应能力。 1、NLB Windows的网络负载平衡群集允许用户将传入的请求传播到最多达32台的服务器上,即可以使用最多32台服...

:Struggle. 1万+

SQL Server性能优化专题之五:负载均衡

SQL Server性能优化 SQL Server语句查询大型数据库运行缓慢,此资源从几方面分析。

SQL Server 2005实现负载均衡

Internet的规模每一百天就会增长一倍,客户希望获得7天×24小时的不间断可用性及较快的系统反应时间,而不愿屡次看到某个站点“Server Too Busy”及频繁的系统故障。 随着业务量的提高,以及访问量和数据流量的快速增长,网络各个核心部分的处理性能和计算强度也相应增大,使得单一设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,必将造成现有资源的浪费,而且下一次业务...

Java 小试 616

利用Virtuoso IC 618进行LDO稳定性分析与补偿设计

本文详细介绍了如何利用Virtuoso IC 618进行LDO稳定性分析与补偿设计。通过搭建仿真环境、运行STB分析诊断环路问题,并深入探讨密勒补偿、调零电阻等关键技术,帮助工程师在Virtuoso平台中高效完成LDO的稳定性优化与验证,确保芯片在各种工艺角下的鲁棒性。

weixin_29170327的博客 162

西门子S7-1200 PLC控制步进电机实战:从I/O分配到梯形图,手把手教你实现正反转与调速

本文详细介绍了如何使用西门子S7-1200 PLC控制步进电机,从硬件接线到梯形图编程,实现正反转与三档调速功能。通过I/O分配、脉冲生成逻辑和方向控制等核心步骤,帮助工程师快速掌握PLC控制步进电机的关键技术,提升工业自动化项目的实施效率。

weixin_28733777的博客 532

sql server-故障转移群集(HA)

第二个主机也一样的方法 挂在上盘,然后同样来到磁盘管理界面,将该磁盘联机(注意:这个磁盘已经在第一个节点上初始化过了,不需要再初始化,只需要联机即可)2008r2,用域账号连一下,再选用户(我用的 域名\aadministrator,但我觉得用dcadmin也可以,建议试下)配置各个服务器的网卡,一张public网卡,一张心跳网卡,并调整网卡优先级,心跳网卡要取消NETBIOS和DNS的注册。查看磁盘管理,发现虚拟磁盘出现了,对连接的磁盘进行联机/初始化,创建磁盘组操作,如图。

汪灵骅的博客 1597

冒险岛脚本函数大全:cm.sendYesNo和cm.warp的20个实战用法

本文深入解析了冒险岛脚本中cm.sendYesNo和cm.warp两个核心函数的20个实战应用场景。从基础的确认对话框交互、条件判断,到复杂的装备强化系统、动态传送与副本入口逻辑,文章通过大量代码示例展示了如何组合运用这两个函数,实现从简单NPC到复杂任务系统的进阶脚本开发,并分享了状态管理、错误处理与性能优化等最佳实践。

t4y5u6i7o的博客 1050

SQL server故障转移和负载均衡的实现

声明:本文转载自gnaw0725.blogbus.com,更新网址:http://gnaw0725.blog.51cto.com。 我想达到搭建多台SQL server达到负载均衡和自动故障转移群集,有什么方法可以实现?是否可以靠微软的群集技术可以实现?我问了有些人,有些说可以,是因为“SQL的集群应该有两种方式:主动/主动和主动/被动,负载均衡功能利用主动/主动方...

weixin_33967071的博客 113

STM32 HAL库ADC+DMA配置详解:从CubeMX到实战调试

在嵌入式系统开发中,模数转换器(ADC)是实现传感器数据采集、信号处理等功能的基石。其工作原理是将连续的模拟信号转换为离散的数字量,为微控制器(MCU)提供可处理的数字信息。为了提升系统效率,直接存储器访问(DMA)技术被引入,它作为独立于CPU的数据搬运工,能在不占用CPU资源的情况下,自动完成外设与内存间的数据传输,从而解放CPU以执行更复杂的控制算法或通信任务。这种ADC与DMA的协同工作模式,对于实现高效、实时的数据流处理具有重要价值,广泛应用于电机控制、环境监测、音频处理等场景。本文聚焦于STM3

weixin_30698297的博客 407

搭建 Newman + Postman + Git + Jenkins 环境教程

一步步搭建 Newman、Postman、Git 和 Jenkins 的环境。这些工具常用来做 API 测试和 CI/CD 自动化,尤其是 Postman 和 Newman 搭配 Git 和 Jenkins,能实现 API 集合的版本管理和自动测试。

Criss@陈磊 434

SQL的负载平衡问题

SQL server故障转移和负载均衡的实现。我想达到搭建多台SQL server达到负载均衡和自动故障转移群集,有什么方法可以实现?是否可以靠微软的群集技术可以实现?我问了有些人,有些说可以,是因为“SQL的集群应该有两种方式:主动/主动和主动/被动,负载均衡功能利用主动/主动方式可以实现!”大部分人说不可以,是因为SQL只支持单点数据写入,保证数据的一致性。 如下...

weixin_34190136的博客 105

Python从0到100(十九):Python标准库初探

哈希函数又称哈希算法或散列函数,是一种为已有的数据创建“数字指纹”(哈希摘要)的方法。哈希函数把数据压缩成摘要,对于相同的输入,哈希函数可以生成相同的摘要(数字指纹),需要注意的是这个过程并不可逆(不能通过摘要计算出输入的内容)。举一个简单的例子,用户注册时我们希望在数据库中保存用户的密码,很显然我们不能将用户密码直接保存在数据库中,这样可能会导致用户隐私的泄露,所以在数据库中保存用户密码时,通常都会将密码的“指纹”保存起来,用户登录时通过哈希函数计算密码的“指纹”再进行匹配来判断用户登录是否成功。

拥有百余位万粉技术博主、200余位可合作代发博主,私域技术社群规模达千人,商务合作私信 5000

企业级SQL Server 2008 R2集群安装实战指南

最近在公司主导了一个SQL Server 2008 R2集群的部署项目,整个过程走下来积累了不少经验。今天就来分享一下企业环境下搭建SQL Server集群的完整流程和注意事项。可以大大简化测试环节。平台提供的一键部署功能让我能快速搭建测试环境,验证各种配置方案。特别是它的实时预览功能,可以帮助直观地检查集群状态。对于企业级数据库集群来说,前期规划和测试验证至关重要。希望这篇实战指南能帮助到有类似需求的同行们。这个环节最容易出问题的是多路径配置,建议做好测试验证。整个安装过程确实比较复杂,但使用。

SapphireOwl29的博客 940

(付费请教,防遗忘记录)为什么EDEM bondV1 V2添加后还是没有胶结?????

最近用到了EDEM的胶结功能,在添加了bond V1和V2后,我发现无论颗粒半径设置为多少,接触半径设置为多少,胶结键的参数设置为多少,bond generated数量均为0!!!在后处理中bond中的力也通通为0!!我跟我的同门百思不得其解!!!!最终付费请教了一个大牛,解决了这个问题!!!!答案在文末

zheaa的博客 3099

Spring Boot 与 Redisson 版本适配深度解析

Spring Boot 与 Redisson 的版本适配是一个动态演进的过程。开发者需要密切关注两者官方的版本更新日志,建立完善的版本验证机制。本文提供的适配方案基于当前最新技术状态(2024年1月),建议在实际生产环境中通过灰度发布策略验证版本兼容性。只有深入理解底层技术原理,才能在分布式系统的星辰大海中稳健航行。延伸阅读Spring Boot 官方迁移指南。

fudaihb的博客 1078

sqlserver故障转移集群和alwayson的区别_详解SQL Server 2016 + AlwaysOn 无域集群

搭建 WSFC配置计算机的 DNS 后缀1、配置计算机的 DNS 后缀,注意在同个工作组2、每个节点的机器都要做域名解析,修改 host 文件C:WindowsSystem32driversetc安装故障转移集群1、节点服务器添加故障转移群集功能2、等待安装完成验证集群1、打开故障转移集群管理工具2、点击验证配置3、添加集群节点4、运行所有测试5、可以点击查看验证报告,勾选立即使用经过验证的节点创...

weixin_39974400的博客 2276

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

win2012故障转移mysql集群_在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群

需要说明的是我们搭建的SQL Server故障转移集群(SQL Server Failover Cluster)是可用性集群,而不是负载均衡集群,其目的是为了保证服务的连续性和可用性,而不是为了提高服务的性能。SQL Server始终在负载均衡集群方面都缺少自己的产品,多由第三方厂家提供,但SQL Server故障转移集群却由来已久,在SQL Server 2012还提供了一个可用性组(Alway...

weixin_32758097的博客 443

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SQL Server 2012 新一代的高可用技术AlwaysOn 之一 总体介绍

前一章我们讨论了SQLServer过去几个版本所包含的高可用性和灾难恢复技术,也详细地介绍了它们彼此的优缺点。可能你对高可用的要求非常高,任何一种技术都无法完全满足你的要求。而把几种技术组合起来,又会给部署和维护带来太多的复杂性。你会觉得有一点遗憾,为什么没有一种更强大更完善的技术来满足你所有的诉求呢?从SQLServer 2012开始,SQLServer引入了一种新的高可用技术,它的名字叫做Al

2万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SQL Server 负载均衡集群方案之Moebius

一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 架构原理(Architecture) 测试环境(Environment) 安装Moebius(Install) Moebius测试(Testing) 负载均衡测试(Load Balancing Testing) 高可用性测试(Failover Testing)...

dengyanxi2992的博客 203

利用Azure虚拟机安装Dynamics 365 Customer Engagement之十:为SQL Server配置Always On

我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面的微软最有价值专家(Microsoft MVP),欢迎关注我的微信公众号 MSFTDynamics365erLuoYong ,回复366或者20190908可方便获取本文,同时可以在第一间得...

weixin_30666753的博客 380

企业级SQL Server 2019集群安装实战指南

通过以上步骤,可以成功部署一个高可用的SQL Server 2019集群。虽然过程复杂,但通过详细的规划和验证,可以确保集群的稳定性和性能。如果你想快速体验SQL Server的部署和管理,可以尝试使用InsCode(快马)平台。它提供了一键部署功能,无需手动配置环境,非常适合快速验证和演示。我在实际使用中发现,平台的部署过程非常便捷,节省了大量配置时间,尤其适合中小型项目快速上线。

BlackironLynx23的博客 302
上一篇: 详解SQL Server中创建数据仓库已分区表
下一篇: DICOM图像处理技术研究
DICOMV3PACS
博客等级 码龄17年 161粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值