SQL Server群集知识介绍

集群CLUSTER种类介绍

基于iSCSI的SQL Server 2012群集测试(一)--SQL群集安装

SQL Server群集如何在线检测

群集中的MS DTC分布式事务协调器

一、SQL Server群集基本架构

无论群集还是非群集SQL Server服务器,都是需要有以下基本组成部分才能提供数据服务:

  1. SQL Server实例,也可以认为是SQL Server二进制可执行文件,它组成数据库管理系统运行的各个服务,管理数据库数据和客户端的需求,执行操作等。不管是群集还是非群集这些实例都是安装在本地磁盘上,以提供服务,因此在安装SQL Server群集不仅在活动节点安装主SQL Server群集,还要在不同节点添加群集服务。
  2. 系统和用户数据库,包含实实在在的数据,以及各个数据库单独的设置等;非群集下,数据存储在本地,被本地实例访问;群集情况下,数据库放在共享存储上,每个节点都有能力访问到(但任何时候只允许活动节点访问);SQL Server实例通过挂载数据库来完成数据库管理。
  3. 访问数据库还需要服务器网络名,或者IP地址。本地采用本地IP或者别名,群集访问虚拟名称或虚拟IP。

Figure 1.1 SQL Server群集基本架构

通过以上群集服务器的改变,SQL Server服务故障转移到另外一个节点前首先停止失败节点的SQL Server服务,共享存储挂载到备节点,虚拟IP重新绑定到备节点的公共网卡接口,再启动备节点的SQL Server服务,备节点的服务读取共享存储数据,从而业务恢复。客户端只是通过虚拟名称或虚拟IP访问SQL Server服务,从而访问数据库资源。

Windows群集方式有多种,在多种凡是的基础上,SQL Server群集实例安装也有多种方式,不同业务可选择不同方式安装,在以安全和稳定的基础上可尽量的利用服务器资源。

二、SQL Server群集资源与依赖关系

在dos界面输入cluster res 可查看Cluster群集资源有哪些,如下图所示为Windows群集的资源,哪些资源为SQL Server群集服务呢?

2.1 共享存储

存储系统和用户数据库,数据库错误日志。tempdb可不存储在共享存储上,由于重启服务时,tempdb会从新生成。然而要求不同节点都拥有tempdb的存放路径。以防止重启出现路径不存在异常。

存储一直都是计算机界的一个瓶颈,对IO读写要求高的数据库此瓶颈尤为明显,因此在访问频繁的数据库建议使用Raid10以提高磁盘性能。

2.2 群集组

群机组中有Windows群集的虚拟网络名称和Ip,用于管理Windows群集。平常情况下,不管是心跳检测还是服务检测,都是节点网络之间通信,很少涉及访问域的情况,但若是发生故障转移,需要验证各个群集节点,涉及到域服务器。

2.3 SQL Server群集虚拟IP和虚拟网络名称

SQL Server IP地址和网络名称,为客户端提供链接。网络名称名称指向虚拟IP地址,SQL Server访问网络名称。

SQL Server网络名称对于跨子网群集同样存在是否所有IP都注册上线问题,通过测试确定是不需要都注册上线。需要将RegisterAllProvidersIP 设置为0:cluster res "SQL Server群集名称" /priv RegisterAllProvidersIP=0

2.4 SQL Server服务和其他服务

SQL Server服务和其他服务提供数据库服务。

2.5 群集资源依赖关系

以上资源相互协作,通过群集服务管理器管理彼此关系,从而提供服务。这些资源的依赖关系如下图所示:

1.网络名称依赖于虚拟IP地址

对跨子网群集,添加群集节点的时候,存在跨子网访问的情况,次数虚拟网络会在域中注册两个IP地址,这两个IP的依赖关系为OR,也就是只能有一个在线。

2. SQL Server服务依赖于共享存储与网络名称

只有共享存储和网络名称同时在线的情况下SQL Server服务才能启动。

3. SQL Agent服务依赖于SQL Server 服务

三、SQL Server群集如何在线检测

四、SQL Server群集服务

数据库引擎服务(Database Engine)

SQL Server数据库的核心组件,可以做成群集。在群集中安装SQL Server数据库引擎,连带安装SQL Server复制分发,全文索引,数据质量分析。

分析服务(Analysis Services)

从SQL Server 2005开始支持分析服务群集;

如果单独部署分析服务群集,则非常简单,不需要考虑太多;如果要和数据库引擎服务一起部署到同一个群集上面,建议是将数据库引擎服务和分析服务单独安装到各自的资源组里面(这就需要各自资源组各自占有自己的共享磁盘、名称、IP地址资源)

如果将分析服务和数据库引擎服务安装在同一个资源组里面,分析服务系统数据库会和数据库系统数据库安装在一起,一旦放置系统数据库的磁盘出现问题,分析服务也会受到影响。同时在需要升级数据库引擎服务或者分析服务时候,二个服务也必须同时升级。

全文索引和SQL Server Broker

从SQL Server 2008开始,全文索引和SQL Server Broker服务已经集成到数据库引擎服务里面,所以在发生数据库引擎服务故障转移之后,二者亦可正常工作。

报表和SSIS 服务

报表和SSIS服务程序里面暂不支持群集API,无法向数据库引擎那样做成群集。但是也可以通过建立通用群集应用程序来将报表和SSIS做成群集。不过因为二者代码里面并不包含群集API,所以某些功能可能在切换之后不正常。

SQL Writer 服务

群集每个节点上面都会安装该服务,默认禁用。

SQL Server 浏览器服务

群集中每个节点也会安装该服务,该服务无法群集。

五、群集中的MS DTC分布式事务协调器

时间: 2024-08-03 08:24:06

SQL Server群集知识介绍的相关文章

SQL Server群集如何在线检测

SQL Server群集知识介绍 Windows群集安装 基于iSCSI的SQL Server 2012群集测试 前言 群集的检测是调用dll资源,例如对于共享存储,ip,网络名称与DTC 这类Windows自带资源,将各自的检测方式定义在Clusres.dll中,定期调用dll资源. 对于SQL Server群集,有自己的dll资源,进行对应检测,首先是检测SQL Server群集服务是否在线,称为looksalive,其次是检测数据库是否正常在线,称为isalive. Looksalive

[翻译]——SQL Server索引的介绍:SQL Server索引级的阶梯

SQL Server索引的介绍:SQL Server索引级的阶梯 By David Durant, 2014/11/05 (first published: 2011/02/17) 该系列 本文是楼梯系列的一部分:SQL Server索引的阶梯 索引是数据库设计的基础,并告诉开发人员使用数据库非常了解设计器的意图.不幸的是,当性能问题出现时,索引常常被添加到事后.这里最后是一个简单的系列文章,它应该能让任何数据库专业人员快速"跟上"他们的步伐 第一个层次引入了SQL Server索引:

SQL Server基础知识

查看sql server版本 select @@VERSION 基本操作 use tty; 使用tty数据库 create table tt(name varchar(10)); 新建表tt insert into tt values('ftp'); 插入数据ftp select * from tt; 查看表tt delete from tt; 删除表表tt中的一条记录 运行命令的快捷方式: Alt+x 重启数据库服务 net restart mssqlserver 修改用户密码 企业管理器——

SQL Server 默认跟踪 -- 介绍

SQL Server 默认跟踪 -- 介绍 什么是默认跟踪? 默认的SQL Server预定义跟踪,是SQL Server中默认开启的最轻量级跟踪,由5个跟踪文件(.trc)组成,每个文件的最大值为20MB,存储在SQL Server log目录. 这些文件用作临时存储捕获事件的缓存.存储在缓存中的事件一段事件后会被删除.当SQL Server重启后,或者当当前使用的文件达到最大值时,最旧的文件被删除,在忙碌的生产环境,这样的循环缓存会在几分钟内被循环覆盖. 注意: 后续版本的 Microsof

SQL Server 索引知识-应用,维护

创建聚集索引 a索引键最好唯一(如果不唯一会隐形建立uniquier列(4字节)确保唯一,也就是这列都会复制到所有非聚集索引中) b聚集索引列所占空间应尽量小(否则也会使非聚集索引的空间变大) c聚集索引应固定,不能随便改动(否则会引起分页,碎片,非聚集索引被迫修改等一些列问题) d聚集索引键一般与主键(primary key)分开(基于方便业务调整,如业务逻辑存储数据与clustered index key一致且不会改变,则主键可为聚集索引) 应用实例: 选择聚集键时,尽量避免因插入引起的分页

SQL Server 索引知识-概念

概念篇 索引概念(index concept) 一种表或视图中相关的B-tree的数据结构.索引键列由一列或多列组成.可拥有包含性列(sql2005).用于提升Sql Server 查找相关数据行效率. 聚集索引(Clustered index) 表或索引视图数据行按照聚集索引键排序.每个表只能有一个聚集索引(聚集表中数据只能按一种方式组织).表中有聚集索引则表称为聚集索引表,无聚集索引则称为堆表. 非聚集索引(Nonclustered index) 独立于数据行之外的一种数据结构.用于快速检索

SQL server基础知识(表操作、数据约束、多表链接查询)

SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database 数据库名称 查询:select name from master..sysdatabases 修改:alter database 数据库名称(在 sql server 中修改与数据库关联的文件和文件组.在数据库中添加或删除文件和文件组.更改数据库或其文件和文件组的属性) (3).管理表 选择数据库:use 数

SQL Server 黑盒跟踪 -- 介绍

SQL Server 黑盒跟踪 -- 介绍 问题描述: 你是否碰到过这些问题:一个查询导致SQL Server崩溃,或者因为CPU飙到100%而导致服务器不可用? 解决方案: SQL Server提供了另一个开箱即用的后台跟踪就是黑盒跟踪(Blackbox Traces).这个跟踪被设计为同飞机上的黑匣子功能类似,SQL Server黑匣子就是拥有大量运行数据的记录.黑匣子记录了发送到SQL Server的所有查询以及类似错误信息的有用记录,可以帮助诊断间歇性服务器崩溃,或者知道在CPU飙高之前

[转]SQL Server编程:SMO介绍

转自:周公 最近在项目中用到了有关SQL Server管理任务方面的编程实现,有了一些自己的心得体会,想在此跟大家分享一下,在工作中用到了SMO/SQL CLR/SSIS等方面的知识,在国内这方面的文章并不多见,有也是一些零星的应用,特别是SSIS部分国内外的文章大都是讲解如何拖拽控件的,在开发过程中周公除了参阅SQL Server帮助文档.MSDN及StackOverFlow等网站,这些网站基本上都是英文的,为了便于一些英文不好的开发者学习,周公在自己的理解上加以整理成系列,不到之处请大家谅解