标签:MSSQL/节点和共享文件夹多数

概述

之前讲过多数节点的仲裁配置,多数节点一般3个节点以上的奇数个节点;常见的是使用3个节点节点多了也是浪费因为Alwayson的只读路由只能利用到一个只读副本,但是从Windows2008开始可以用共享文件夹来代替一个节点来充当仲裁;这就又可以节省一台服务器了只需要两台数据库服务器加任意一台电脑的共享文件夹,但是一般会选择在域服务器上创建共享文件夹。但是要注意该共享文件夹的权限需要everyone角色拥有读写权限。

注意:要验证其中一个节点故障集群是否正常必须断开故障节点的网络或者关机,因为alwayson是在故障转移的基础上,只有物理机故障无法ping通才会导致故障转移切换节点。比如只停止SQLServer服务这种是无法验证的。

数据库:SQLServer2014 SP2

OS:Windows Server 2008R2

一、配置仲裁

可以在创建故障转移集群的时候配置,也可以创建完集群后右键集群来修改仲裁配置

这里的共享文件夹路径使用域服务器已经创建好的共享网络路径

注意:这个路径的权限必须everyone角色具有读写权限,否则集群会出现以下错误提示,如果AlwasyOn的网络共享路径也配置在域服务器应该避免文件见证使用该共享路径,这涉及到了安全问题。AlwasyOn的网络共享路径只需要授予启动服务用户的所有权限即可。

二、读写分离

当使用两个节点后,读写分离的配置和三个节点会稍微有点区别,假设我现在只有DB01,DB02两个节点

1.Alwayson属性配置

注意:主角色中的连接这里和三个节点不一样,三个节点这里可以选择“仅允许读/写连接”,这里是能选择“允许所有连接”,否则其中一个节点无法访问后只读路由访问会失败(返回错误982)。

2.语句配置

---建立read指针 - 在当前的primary上为每个副本建立副本对于的tcp连接
ALTER AVAILABILITY GROUP [Alwayson22]
MODIFY REPLICA ON
N'db01' WITH
(SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://db01.ag.com:1433'))ALTER AVAILABILITY GROUP [Alwayson22]
MODIFY REPLICA ON
N'db02' WITH
(SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://db02.ag.com:1433'))----为每个可能的primary role配置对应的只读路由副本
--list列表有优先级关系,排在前面的具有更高的优先级,当db02正常时只读路由只能到db02,如果db02故障了只读路由才能路由到DB01
ALTER AVAILABILITY GROUP [Alwayson22]
MODIFY REPLICA ON
N'db01' WITH
(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('db02','db01')));ALTER AVAILABILITY GROUP [Alwayson22]
MODIFY REPLICA ON
N'db02' WITH
(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('db01','db02')));

--查询优先级关系
SELECT  ar.replica_server_name ,rl.routing_priority ,( SELECT    ar2.replica_server_nameFROM      sys.availability_read_only_routing_lists rl2JOIN sys.availability_replicas AS ar2 ON rl2.read_only_replica_id = ar2.replica_idWHERE     rl.replica_id = rl2.replica_idAND rl.routing_priority = rl2.routing_priorityAND rl.read_only_replica_id = rl2.read_only_replica_id) AS 'read_only_replica_server_name'
FROM    sys.availability_read_only_routing_lists rlJOIN sys.availability_replicas AS ar ON rl.replica_id = ar.replica_id

会发现配置只读路由列表这里和之前的三个节点有区别,我用绿色标识了出来;之前三个节点的时候这里用的是DB03。

三个节点:当DB01节点无法访问时,DB02节点变成主节点充当读写副本,DB03节点充当只读副本。

两个节点:当DB01节点无法访问时,DB02节点变成主节点即充当读写副本同时也充当只读副本。

当停止DB01的服务后仲裁会自动切换到DB02上来,且读写和只读连接都会连接到DB02上。这里就不做演示从下图也可以看到单节点DB02在线。

总结

对比三个节点,使用两个节点可以减少一台服务器节省不少人力成本。毕竟故障的情况并不是很多。但是也不得不说一下这种方案的弊端,那就是当一个节点故障后另一个节点要同时承担读写和只读的两倍的负担,使用该方案之前就必须得评估一个节点能否支持得起这种负载压力!!!

备注:SQLServer2016支持多个只读副本负载分担只读操作

搭建和加入域参考:http://www.cnblogs.com/chenmh/p/4444168.html

搭建故障转移群集参考:http://www.cnblogs.com/chenmh/p/4479304.html

Alwayson搭建参考:http://www.cnblogs.com/chenmh/p/4484176.html

Alwayson读写分离参考:http://www.cnblogs.com/chenmh/p/7000236.html

备注:

作者:pursuer.chen

博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

《欢迎交流讨论》

转载于:https://www.cnblogs.com/chenmh/p/7156719.html

SQL Server AlwaysOn配置两个节点加共享文件夹仲裁见证相关推荐

  1. SQL Server AlwaysOn读写分离配置

    SQL Server AlwaysOn读写分离配置 pursuer.chen 备注: 作者:pursuer.chen 博客:http://www.cnblogs.com/chenmh 本站点所有随笔都 ...

  2. SQL Server AlwaysOn读写分离配置

    标签:MSSQL/只读路由 概述 Alwayson相对于数据库镜像最大的优势就是可读副本,带来可读副本的同时还添加了一个新的功能就是配置只读路由实现读写分离:当然这里的读写分离稍微夸张了一点,只能称之 ...

  3. SQL Server Alwayson概念总结

    一.alwayson概念 "可用性组" 针对一组离散的用户数据库(称为"可用性数据库" ,它们共同实现故障转移)支持故障转移环境. 一个可用性组支持一组主数据库 ...

  4. 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)

    从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点) 第一篇 http://www.cnblogs.com/lyhabc/p/4678330.html 第二篇 http:// ...

  5. 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

    从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇 http://www.cnblogs.com/lyhabc/p/4678330.html 第二篇 http: ...

  6. (转) 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

    原文地址: http://www.cnblogs.com/lyhabc/p/4682986.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第三篇,这一篇才真正开始搭建Alwa ...

  7. 配置SQL Server AlwaysOn高可用性组

    In this article, we will learn the step by step configuration of SQL Server AlwaysOn High availabili ...

  8. SQL Server AlwaysOn可用性及故障转移

    SQL Server AlwaysOn可用性及故障转移 杜飞 在 AlwaysOn 可用性组中,"可用性模式"是一个副本属性,该属性确定某一给定可用性副本是否可在同步提交模式下运行 ...

  9. SQL Server AlwaysON从入门到进阶(6)——分析和部署AlwaysOn Availability Group

    本文属于SQL Server AlwaysON从入门到进阶系列文章 前言: 本节是整个系列的重点文章,到现在,读者应该已经对整个高可用架构有一定的了解,知道独立的SQL Server实例和基于群集的S ...

  10. 管理SQL Server AlwaysOn(1)——基础维护

    本文属于管理SQL Server AlwaysOn 系列文章 前言: 前面系列已经介绍了SQL Server AlwaysOn的知识点.安装演示及注意事项等.但是这并不是终点,更多的反而是起点.就像不 ...

最新文章

  1. jQuery learn - 1 - 选择元素 CSS
  2. mybatis mapper配置 bigint_SpringBoot基础架构1(SpringBoot、MyBatis-Plus与Thymeleaf)
  3. 路径包含空格_5分钟学会:矢量工具与路径-编辑路径
  4. 报名 | 想在硅谷近距离接触蚂蚁金服的CTO和一众技术高管?这个机会一定不能错过!...
  5. C#的变迁史08 - C# 5.0 之并行编程总结篇
  6. JavaScript-面试 表单验证
  7. 上线随想之2011-03-30
  8. 如何创建 Visual Studio 2017 RC 离线安装包
  9. 【三维路径规划】基于matlab改进的蝙蝠算法农用无人机三维路径规划【含Matlab源码 1514期】
  10. pythonturtle是标准库_Python常用标准库1-Turtle,Random,Time和Datetime
  11. 备份和恢复是解决勒索病毒的最佳方案
  12. 淘宝运营之:什么是浏览量(PV)什么是流量、访客数(UV)
  13. form表单内子元素组件按钮button事件冲突 - Vue
  14. html页面上传文件mui,mui 文件上传注意问题
  15. 用AI 来一键体验“返老还童”的快乐!马化腾、李彦宏、杨幂都能还原的那种 |儿童节福利...
  16. JS节点操作——连缀
  17. kk_想要学习的知识
  18. Linux 中把Python3设为默认Python版本的几种方法
  19. n个元素的全排列(递归+去重)
  20. 集十三位资深程序员毕生功力回答:普通程序员如何自学才能进大厂?

热门文章

  1. 《Android 面试指南》来自腾讯、阿里巴巴、欢聚时代、美团、聚美优品、悦跑圈等大佬分享的面经...
  2. 完美谢幕,这就是科比!
  3. 如何更高效地使用 OkHttp
  4. c语言上机题库徐州工程学院,徐州工程学院 C语言上机实验报告.docx
  5. latex句首缩进空格
  6. hihocode 1336 Matrix Sum 【二维树状数组】
  7. http://ilinuxkernel.com/?p=1328
  8. 大数据 Spark 架构
  9. linux TCP协议(1)---连接管理与状态机
  10. PC建立WIFI热点