SQL Server高可用的常见问题分析_MsSql

每次谈到SQL Server的高可用,很多的DBA,特别是SQL Server DBA心里一痛:因为大家都认为SQL Server无法或者很难实现SQL Server。也有很多的DBA朋友脑袋一拍,给出答案“高可用不就是微软的那几个技术吗,如Replication, Failover Clustering”…

1.难道SQL Server在高可用上面就显得这么的无力吗?
回答:不是的,其实SQL Server很给力。

2.为什么很多人总是抱怨SQL Server中高可用很难实现呢?
这里从几个方面来说。
首先,就所接触到的很多的项目(欧美居多),这些项目中不乏所谓的海量数据,也有很多的高性能应用,后面采用的都是SQL Server,而且还没有采用第三方的数据库辅助软件。

其次,我们说说人的问题。人都有这样一个习惯:每次出现问题之后,第一反应就是逃避,然后找个好的理由或者替罪羊,最后搞来搞去,就开始怪技术本身不行。这就有点类似,菜鸟用宝刀的时候,杀不死人,不贵本身的能力不行,而是怪刀不好。说到这里,就想到之前的CSDN密码泄露问题,很多人居然大骂微软的技术不行,这让那些已经用微软技术实现高安全的应用的公司看笑话。

再次,以偏概全的概念!很多人以为Replication就是高可用了,于是就一股脑的指望Replication可以解决他们的问题,殊不知:Replication只是实现高可用中的一个重要的组件而已,而不是全部。说到这里,是我想起几个类似误解,“以为JQuery就是ajax技术”,殊不知,jquery只是一个框架,可以用来实现ajax而已。有人认为“架构设计就是设计模式和架构模式的使用”,其实架构设计就是一种思维,而那些模式仅仅只是一个小的手段而已,把架构设计比喻为一个大楼,那些模式充其量就是一些砖头,而不是全部。
同理,Replication也仅仅只是实现高可用中的“一块砖”。

最后,对于技术的掌握程度不够,导致很多人遇到问题时候无法解决。而且也不知道找谁解决,去哪里找等。

3.高可用是用一个软件或者产品就搞定的吗?
这里很多人想到的就是Oracle的RAC,还有一些第三方的产品。不同的产品,封装的程度不一样,有的产品把很多的东西都封装了,只需使用人员学习如何使用工具就OK,不用掌握细节。但是,使用这些产品的时候,在进行部署和操作的时候,实际上就是在按照产品设计人的思想在搭建高可用而已,只是我们认为这个过程是“使用手册”而已。

而SQL Server本身没有提供这样的完全封装的产品,但是高可用设计中需要的重要核心技术和组件都已经有了,“钉子,螺丝,材料”都有了,就看你如何组装起来。
同样的做菜材料和工具,高明的厨师做出来的是美味佳肴,而一般的厨师仅仅只是把菜搞熟而已。

4.高可用仅仅只是数据库技术吗?
实现高可用,不仅仅只是数据库层面上面的内容,其实更多需要的是设计和架构能力。需要知道,软件,硬件,操作系统,网络,数据库等技术。

而且高可用也不是一个具体的技术,而是概念,实现的方法就是千千万。有人说“高可用就是读写分离”,“高可用就是负载均衡”,对吗?用脚趾头都可以回答这些问题。

5.没有万能的产品和万能的方案,一切都是“看情况而定”
很多人在争论“无共享磁盘(数据库)”好,“水平拆分”好。这些说的直白一点:单独的讨论,没有任何的意义。不把技术用在具体的应用中,不带来经济价值,技术什么都不是。

产品,技术等本身都是有一定的使用范围和局限性的,很多社区的朋友在讨论的时候,总是喜欢一个万能的产品特性,例如,有人说“SQL Server 2012的AlwaysOn”可以实现高可用了。殊不知:技术是人在使用,产品只是我们人在设计中使用的一个零件而已,最后的设计还是看人。早在十多年前,就有很多的公司的大型应用就是采用SQL 2000做的,那时候,SQL Server还没有这么多的功能和组件。

时间: 2024-08-02 15:07:39

SQL Server高可用的常见问题分析_MsSql的相关文章

SQL Server高可用的常见问题分析

每次谈到SQL Server的高可用,很多的DBA,特别是SQL Server DBA心里一痛:因为大家都认为SQL Server无法或者很难实现SQL Server.也有很多的DBA朋友脑袋一拍,给出答案"高可用不就是微软的那几个技术吗,如Replication, Failover Clustering"- 1.难道SQL Server在高可用上面就显得这么的无力吗? 回答:不是的,其实SQL Server很给力. 2.为什么很多人总是抱怨SQL Server中高可用很难实现呢? 这

SQL Server高可用——日志传送(4-3)——使用

原文:SQL Server高可用--日志传送(4-3)--使用   顺接上一篇:SQL Server高可用--日志传送(4-2)--部署 本文为本系列最重要的一篇,讲述如何使用日志传送及一些注意事项.从上一篇可以看到,其实配置不难,难是难在一旦出现问题,如何处理.这些是4大高可用的同性.配置都不会很难,只是如何故障排除而已.     监控日志传送:       在配置好日志传送之后,需要进行监控,监控备份.复制及还原的作业运作情况.这三类作业任何一个没有成功都意味着日志传送失败. 有两种方法可以

SQL Server高可用——日志传送(4-1)——概论

原文:SQL Server高可用--日志传送(4-1)--概论  本文作为学习总结,部分内容出自联机丛书及其他书籍   日志传送是什么?          SQLServer 2012之前(2012出现了AlwaysOn),SQLServer存在四大高可用(集群/群集.日志传送.镜像和复制).本主题主要讨论其中的日志传送功能.但是由于工作原因,只能谈论到使用级别,不做太深入的研究.   现在先来说说日志传送(Log Shipping)是什么?         它是高可用的其中一种,可以搭配其他高

SQL Server高可用——日志传送(4-2)——部署

原文:SQL Server高可用--日志传送(4-2)--部署   前文再续,书接上一回.本章演示一下日志传送的具体过程   准备工作:   由于时间关系,已经装好了3台虚拟机,且同在一个域里面:         SQL01:主服务器 SQL02:辅助服务器 SQL03:监视服务器   初始配置:       这里是实验方便,正式环境应该由于特殊账号的读写权限.注意这里的读写权限不应该是sql内部的账号,如sa这些,而是sqlagent.SQLServer service这类型的账号,这些账号才

关于SQL SERVER高并发解决方案

原文:关于SQL SERVER高并发解决方案 现在大家都比较关心的问题就是在多用户高并发的情况下,如何开发系统,这对我们程序员来说,确实是值得研究,最近找工作面试时也经常被问到,其实我早有去关心和了解这类问题,但一直没有总结一下,导致面试时无法很完整全面的回答,所以今天我专门总结概况了一下关于SQL SERVER高并发解决方案,希望能帮助大家,若有不对之外,还请及时告之,谢谢! SQL SERVER高并发解决方案主要是从以下几个方面: 1.SQL语句优化: A.尽可能的精确查询条件及查询字段,缩

SQL Server数据库安装时常见问题解决方案集锦_MsSql

本文我们总结了几个在安装SQL Server数据库时常见问题的解决方案,供初学者学习参考,接下来让我们来一起看一下吧. 常见问题一: 安装Sql Server 2000时出现"以前进行的程序创建了挂起的文件操作,运行安装程序之前,必须重新启动计算机" ,重启后仍然无效. 解决方案: 1.不用退出Sql Server 2000安装程序,直接切换到桌面. 2.打开注册表编辑器(在"运行"中敲入"regedit"之后回车即可),定位到注册表的HKEY_

谈谈Tempdb对SQL Server性能优化有何影响_MsSql

先给大家巩固tempdb的基础知识 简介: tempdb是SQLServer的系统数据库一直都是SQLServer的重要组成部分,用来存储临时对象.可以简单理解tempdb是SQLServer的速写板.应用程序与数据库都可以使用tempdb作为临时的数据存储区.一个实例的所有用户都共享一个Tempdb.很明显,这样的设计不是很好.当多个应用程序的数据库部署在同一台服务器上的时候,应用程序共享tempdb,如果开发人员不注意对Tempdb的使用就会造成这些数据库相互影响从而影响应用程序. 特性:

MS SQL Server数据库事务锁机制分析

server|数据|数据库 锁是网络数据库中的一个非常重要的概念,它主要用于多用户环境下保证数据库完整性和一致性.各种大型数据库所采用的锁的基本理论是一致的,但在具体实现上各有差别.目前,大多数数据库管理系统都或多或少具有自我调节.自我管理的功能,因此很多用户实际上不清楚锁的理论和所用数据库中锁的具体实现. Microsoft SQL Server(以下简称SQL Server)作为一种中小型数据库管理系统,已经得到了广泛的应用,该系统更强调由系统来管理锁.在用户有SQL请求时,系统分析请求,自

Linux高可用(HA)之Heartbeat+Nginx+MySQL+NFS实现WEB+SQL服务高可用

环境说明: node1:ZhongH100.wxjr.com.cn 172.16.6.100 node2:ZhongH101.wxjr.com.cn 172.16.6.101 NFS存储:ZhongH102.wxjr.com.cn 172.16.6.102 VIP:172.16.7.200 node1和node2的主机名.SSH互通 操作系统:都是CentOS 6.6 x86_64 (自己配置好yum源.epel源.关闭SELinux.关闭防火墙) 注意:是[root@ZhongH100 ~]还