Windows Server 2012搭建SQL Server Always On踩坑全记录

环境信息:

Windows Server 2012 R2
Sql Server 2012

整个搭建集群的过程主要分为3步:

  • 1.配置预控,并把机器加域。
  • 2.配置windows故障转移集群(Windows Failover Cluster)
  • 3.配置SQL Server Always On High Availability Group(AG)

踩坑全记录

  • 预控配置

    比较好配置,需要注意的是非预控机器在加入域之前需要将dns指向预控。这里遇到的一个坑,在给node2节点加域时提示


虚拟机使用华为私有云申请,申请的服务器的sid因为与node1节点一致导致,重新生成sid即可,方法:
C:\Windows\System32\sysprep\sysprep.exe
勾选通用项,并开始

  • 配置windows故障转移集群。

    Node1上添加node2节点时提示“无法访问远程注册表,请确保远程服务器注册表服务已运行,并已启动远程管理”。

    从字面意思来看,放这诊断注册表服务已经windows策略上,发现服务与策略配置都没问题。最后在node1上尝试添加本地节点node1时提示“本地没有安装故障转移工具”,在去windows服务里查询,果然只勾选了故障转移管理工具选项,实际并未安装故障转移集群(windows服务里是两个选型,勾选集群管理工具并不会级联集群服务)勾选上,问题解决。由于提示的误导,诊断了很长时间。

  • 配置SQL Server AG

  1. 安装SQL server失败

    因为没有安装.net framework 3.5。 windows server 2012 R2 无法安装.net framework 3.5的问题很普遍,在网上查了下都是使用手动制定个sxs本地文件路径,配置安装。网上很难找到sxs下载资源包,csdn上都是需要积分的,又需要可以私信我。

  1. 配置Sql Server Available Group时,创建AG 提示node2上指定文件目录不存在

此问题是因为我node1和node2上的sql server 都使用的命名实例,node1上还有个默认实例,并且命名实例名称不同导致,误导node2去默认实例的文件夹上去找了,实际并没有安装默认实例。有的解决方案是通过写sql语句手动map到新的路径上,这种可以解决。
我直接在node2上直接新装了个默认实例,问题直接解决,简单粗暴。

  1. 配置Listener 侦听器

    配置侦听器过程比较简单,指定一个静态IP地址,并指定默认端口号1433,不过在配置完侦听器有个特别奇葩的现象,只能在主节点上ping通侦听器name或者IP,在其他副本任何机器上无法ping通,也无法使用Sql Management Studio连接(在主节点上可以连接)。

    数据库同步无问题,不过因为应用在连接集群时需要使用侦听器地址去连接,这个问题就导致外部应用无法连接集群,集群不work。从预控以及DNS的记录来看,一切正常.

    在StackOverflow以及TechNet上查了很多帖子,有很多人遇到相同的问题,不过解决方案基本都不work。最后怀疑是网络问题,就联系网络管理员帮忙看,最后一起讨论了一番,果然是因为侦听器IP和name并没有在华为私有云上绑定暴露,所以也就认证了其他服务器无法ping通,而只有主节点才可以连的问题。网络管理员处理完后,问题解决。

结束语

整个搭建过程大概耗时一天半,期间更多的是环境问题以及多个节点上的重复工作,整个搭建过程还算顺利。之后在windows server 2016,SQL Server 2016 环境上,成功搭建无域的SQL AG环境,依旧踩到了很多坑,大家遇到问题私信我。
如果你也遇到了我列的坑,那希望这篇文章能够帮助到您。最全配置文档,关注公众号,私信作者。

​喜欢记得扫描下方二维码关注哦~

本文由博客群发一文多发等运营工具平台 OpenWrite 发布

Windows Server 2012搭建SQL Server Always On踩坑全记录的更多相关文章

  1. SQL Server 2012:SQL Server体系结构——一个查询的生命周期(第1部分)

    为了缩小读取操作所涉及范围,本文首先着眼于简单的SELECT查询,然后引入执行更新操作有关的附加过程.最后你会读到,优化性能时SQLServer使用还原工具的相关术语和流程. 关系和存储引擎 如图所示 ...

  2. SQL Sever 各版本下载 SQL Server 2012下载SQL Server 2008下载SQL Server 2005

    SQL Server 2012SQL Server 2012 开发版(DVD)(X64,X86)(中文简体)ed2k://|file|cn_sql_server_2012_developer_edit ...

  3. SQL Server 2012:SQL Server体系结构——一个查询的生命周期(第2部分)

    计划缓存(Plan Cache) 如果SQL Server已经找到一个好的方式去执行一段代码时,应该把它作为随后的请求重用,因为生成执行计划是耗费时间且资源密集的,这样做是有有意义的. 如果没找到被缓 ...

  4. VMware Workstation 11 搭建windows server 2012 之sql server 2012集群常见问题整理

    1.windows server 2012内置支持iSCSI发起程序无需额外安装,iSCSI Software Target 可作为“文件和存储服务”角色下的内置功能使用 2.拷贝虚拟机的文件加入域时 ...

  5. [Windows Server 2012] 安装SQL Server 2012

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:安装SQL S ...

  6. windows server 2012 安装sql server集群

    第一步:准备工作 虚拟环境下模拟创建: 准备好3台虚拟机 操作系统,WindowsServer2012R2 操作系统安装完成后,需要注意如果虚拟机是克隆出来的,后面操作集群的时候需要计算机的sid不同 ...

  7. SQL Server 2012:SQL Server体系结构——一个查询的生命周期(第3部分)(完结)

    一个简单的更新查询 现在应该知道只读取数据的查询生命周期,下一步来认定当你需要更新数据时会发生什么.这个部分通过看一个简单的UPDATE查询,修改刚才例子里读取的数据,来回答. 庆幸的是,直到存取方法 ...

  8. [Tool] Windows 8.1安装SQL Server

    [Tool] Windows 8.1安装SQL Server 问题情景 因为工作的关系,需要在Windows 8.1.64Bit设备上安装SQL Server 2012.本来以为是个只要按下一步就可以 ...

  9. 在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群

    需要说明的是我们搭建的SQL Server故障转移集群(SQL Server Failover Cluster)是可用性集群,而不是负载均衡集群,其目的是为了保证服务的连续性和可用性,而不是为了提高服 ...

随机推荐

  1. Opencv笔记(六)——把滑动条当调色板

    学习目标: 学会把滑动条绑定到 OpenCV 的窗口. 学习函数:cv2.getTrackbarPos(), cv2.creatTrackbar()等. 简单演示: 通过调节滑动条来设定画板颜色.我们 ...

  2. 【转】高频使用的git清单

    侵删 作者: 阮一峰 链接: http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 我每天使用 Git ,但是很多命令记不住. 一般来 ...

  3. SpringBoot集成ssm-druid-通用mapper

    简单介绍 springboot 首先什么是springboot? springboot是spring的另外一款框架,设计目的是用来简化新的spring应用的搭建和开发时所需要的特定的配置,从而使开发过 ...

  4. 吴裕雄--天生自然python机器学习:朴素贝叶斯算法

    分类器有时会产生错误结果,这时可以要求分类器给出一个最优的类别猜测结果,同 时给出这个猜测的概率估计值. 概率论是许多机器学习算法的基础 在计算 特征值取某个值的概率时涉及了一些概率知识,在那里我们先 ...

  5. ElasticSearch6 报错blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];

    原文连接:https://blog.csdn.net/u013042707/article/details/84110531 方案:curl -XPUT -H "Content-Type: ...

  6. [LC] 96. Unique Binary Search Trees

    Given n, how many structurally unique BST's (binary search trees) that store values 1 ... n? Example ...

  7. Mate20 pro实现H265 (HEVC)实时硬件编码

    谁能告诉我手机上用H265实时编码有什么鸟用? 一.先看看手机支持哪些codec ALL_CODECS REGULAR_CODECS mine-type 选择mime-type为video/hevc, ...

  8. python学习笔记(9)函数(一)

    定义一个函数 你可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定 ...

  9. 接口测试 requests的身份认证方式

    requests提供多种身份认证方式,包括基本身份认证.netrc 认证.摘要式身份认证.OAuth 1 认证.OAuth 2 与 OpenID 连接认证.自定义认证.这些认证方式的应用场景是什么呢? ...

  10. 【Linux_Shell 脚本编程学习笔记三、分支与循环结构】

    if 语句是实际生产工作中最重要且最常用的语句,所以,必须掌握牢固 if 条件语法 1. 单分支机构 if  [ 条件 ] then 指令 fi 或 if  [  条件 ]; then 指令 fi   ...