1.环境

系统:windows server 2012 R2

数据库版本:SQL server 2012

三台服务器,IP分别是:10.10.10.111,10.10.10.112,10.10.10.113

2.安装数据库

2.1、三个集群节点都需先安装.NET Framework 3.5(在Windows Server 2012 R2中使用添加功能来安装)。

报错并解决:

解决:双击系统IOS镜像文件,在找到:sources\sxs ,指定到备用源路径,如下图。

2.2、三台服务器分别以administrator管理员账号登录系统,安装单实例数据库,SQL server安装比较简单,下一步--下一步--就行了。如果实在不会,请参考之前的文章《SQL server 2012安装教程 》。

3.配置域控服务器

我的域控是由专门的系统管理人员配置的,没有亲自动手,若有需要,请参考《从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)》。

4.配置故障转移集群

4.1、administrator用户 安装故障转移集群,三个节点都同时安装故障转移集群服务

4.2、三个节点都安装完故障转移集群之后,在其中一个节点上进行注销操作,然后使用DCADMIN这个域用户登录计算机。

域用户必须在域计算机组和域管理员组,否则创建集群时会报错:

4.3、打开故障转移集群管理器

4.4、在“选择服务器或群集”界面中,单击“浏览”按钮将所有要加入群集的服务器添加进来,然后单击“下一步”按钮。

三个节点的域控服务器都选上。

4.5、在验证配置向导中最好选择运行所有测试,进行全部检测就可以查看到服务器之间建立群集的所有设置,包括网络、共享磁盘、操作系统等。

可以查看一下报告

报告里面一定不能出现失败,否则你需要检查是什么问题导致失败,失败是建立不了故障转移集群的

出现警告要看情况,对于存储的警告,由于目前为止没有添加任何的存储设备,这里可以忽略,还有网络警告

由于各个节点只有一个网卡,正常来说还需要一个心跳网卡,所以这里会出现警告,由于实验环境这个警告可以忽略

集群报告会存放在这个路径下

C:\Windows\Cluster\Reports

4.6、点击完成

4.7、创建集群向导

4.8、输入集群名称和vip(VIP是随便输入的没有使用的IP。不知道作用是什么,但必须输入,不然过不去。)

 

由于我们当前还没有任何存储,所以不勾选将所有符合条件的存储添加到群集

查看报告可以看到 找不到磁盘见证的相应磁盘,因为我们还没加见证共享文件夹或仲裁盘,这里可以忽略

4.9、群集创建完成

5.配置SQL server的域控

5.1、使用域用户DCADMIN登录,然后设置SQL Server的启动账户为域用户DCADMIN

打开服务管理器,先修改SQL代理的启动账户为域用户DCADMIN,然后再修改SQL 引擎的启动账户为域用户DCADMIN

点击“位置”,修改查找位置,选中abc.com

点击“高级”

点击“立即查找”,选中DCADMIN

点击“确定”

输入域用户DCADMIN的密码

重启一下SQL代理服务

重启之后可以看到登录用户为DCADMIN@abc.com

同样,SQL引擎服务也需要同样的设置

这样,SQL引擎服务和SQL代理服务都用域用户DCADMIN启动

另一个集群节点的SQL Server也需要做同样的操作

注意:在集群节点脱离域之后,SQL引擎服务和SQL代理服务都要用本地服务帐号来启动,不能再用域用户来启动

5.2、将DCADMIN域用户加入到两个集群节点的SQL Server登录用户中,服务器角色选择sysadmin

先用sa登录SQL Server

添加登录用户,跟SQL 服务添加启动账户的步骤一样,将DCADMIN域用户添加为登录用户

给予sysadmin权限

两个集群节点都可以用DCADMIN域用户来登录SQL Server

5.3、回到SQL Server配置管理器,启用AlwaysOn可用性组

注意:集群节点一定要能进行通信,如果集群节点之间断开通信,那么启用AlwaysOn的时候会报错

重启SQL Server

如果AlwaysOn启用成功,在服务器属性里可以看到启用HADR为True

6.配置awaysOn

6.1、在“Alwayson高可用性”节点上右键选择“新建可用性组向导

注意:加入到AlwaysOn可用性组的数据库必须符合下面要求

(1)数据库的恢复模式必须是“完整”恢复模式

(2)数据库已进行了一次完整备份

(3)需要是用户库,系统库不能加入可用性组

(4)数据库可以读写,只读库不能加入到可用性组

(5)数据库处于多用户模式

(6)数据库没有使用AUTO_CLOSE

(7)不属于任何其他的可用性组

(8)数据库没有配置数据库镜像

一个可用性组最大支持100个数据库

6.2、点击“下一步”,输入一个从未使用过的高可用性组名称 testAG

6.3、点击下一步,选择要添加的数据库

6.4、点击“下一步”,使用添加副本来将其他节点添加到可用性组中,并选择自动故障转移节点和同步提交节点,因为我们只有两个节点

我们将辅助副本设置为可读,能够自动故障转移,同步提交模式

6.5、点击“端点”tab页面设置端点

注意:端点URL使用IP的方式,不要用FQDN长名的方式,因为服务器通常会有两个网卡,一个public网卡,一个private网卡,端点建议使用private网卡地址

这样在端点直接传送的数据就会经由private网卡来传送,使用TCP://test.abc.com:5022 这种FQDN长名的方式是不能保证端点数据通过private网卡来传送

SQL Server服务账户使用域用户DCADMIN来进行身份验证,避免使用证书的方式

6.6、“备份首选项”和“侦听器”不需要设置,保持默认就行,可用性侦听器我们后面再添加,可以直接点击“下一步”

点击“是”

6.7、选择初始数据同步,这里选择“仅联接”模式

6.8、点击“下一步”来验证配置,对应侦听器配置警告可以忽略,后期来添加侦听器

因为使用的是“仅联接”数据库初始化方式,验证跳过像可用磁盘空间这样的检查

6.9、点击“下一步”来检查并确认之前的配置信息,若无误,点击“完成”。另外,此处也可保存建立可用性组脚本,以便分步诊断故障之用。

6.10、所有摘要均成功完成,显示绿色对勾。如果出现黄色警告,则需进行进一步判断是否成功。若出现红色错误,表示AG创建不成功

 7.到这集群就算搭建完成了,之后就是测试和验证了。

参考:

第一篇
http://www.cnblogs.com/lyhabc/p/4678330.html
第二篇
http://www.cnblogs.com/lyhabc/p/4682028.html
第三篇
http://www.cnblogs.com/lyhabc/p/4682986.html
第四篇
http://www.cnblogs.com/lyhabc/p/6136227.html
搭建非域AlwaysOn win2016+SQL2016
http://www.cnblogs.com/lyhabc/p/6498712.html
SQL Server AG集群启动不起来的临时自救大招
http://www.cnblogs.com/lyhabc/p/6953255.html

搭建SQL server AwaysOn集群的更多相关文章

  1. SQL Server AG集群启动不起来的临时自救大招

    SQL Server AG集群启动不起来的临时自救大招 背景 前晚一朋友遇到AG集群发生来回切换不稳定的情况,情急之下,朋友在命令行使用命令重启WSFC集群 结果重启WSFC集群之后,非但没有好转,导 ...

  2. 阿里云重磅发布RDS for SQL Server AlwaysOn集群版

    2018年双十一刚过,阿里云数据库发布RDS for SQL Server AlwaysOn集群版,这是业界除微软云SQL Database外,首家云计算公司基于SQL Server最新AlwaysO ...

  3. 图文详解在Windows server 2008 R2上安装SQL Server 2012集群

    1.准备: 4台服务器(1台AD.2台SQL服务器.1台iSCSI存储服务器) 9个IP(1个AD的IP.2个SQL服务器的IP.2个心跳IP.1个iSCSI存储服务器的IP.1个集群IP.1个DTC ...

  4. 创建SQL Server数据库集群的经历

    自己尝试安装SQL Server集群和配置AlwaysOn可用性组,服务器系统是Windows Server 2012 R2,SQL Server是2014企业版,我的环境是一台服务器,然后用Hype ...

  5. Windows Server 2008 + SQL Server 2005集群

    一. 基础环境 1. 服务器规划 2. 网络拓扑 二. 相关说明 1.为了节约服务器资源,AD服务器可以和iSCSI设备服务器同为一台服务器.由于iSCSI软件需要,目前微软只开发了基于Windows ...

  6. (转载) SQL Server AG集群启动不起来的临时自救大招

    背景 前晚一朋友遇到AG集群发生来回切换不稳定的情况,情急之下,朋友在命令行使用命令重启WSFC集群 结果重启WSFC集群之后,非但没有好转,导致整个AG无法启动,主副本和辅助副本都处于正在解析的状态 ...

  7. SQL Server AlwaysOn 集群 关于主Server IP与Listener IP调换的详细测试

    1. 背景 SQL Server 搭建AlwaysOn后,我们就希望程序连接时使用虚拟的侦听IP(Listener IP),而不再是主Server 的IP.如果我们有采用中间件,则可以在配置中,直接用 ...

  8. Sql Server 2012 集群配置

    基于Windows Server 2008 R2的WSFC实现SQL Server 2012高可用性组(AlwaysOn Group) 2012年5月 微软新一代数据库产品SQL Server 201 ...

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

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

随机推荐

  1. 【转载】Java DecimalFormat 用法

    转载只供个人学习参考,以下查看请前往原出处:http://blog.csdn.net/wangchangshuai0010/article/details/8577982 我们经常要将数字进行格式化, ...

  2. 关于RN的热更新

    写点关于RN的热更新和RN版本升级后的强制更新.以及优化白屏问题 在APPDelegate中加载RN,一般的加载方式是:RCTRootView *rootView= [[RCTRootView all ...

  3. JavaScript逻辑分支switch 练习题

    1.输入月份,显示当月的天数, 利用case穿透简化代码  var month = prompt("请输入月份"); var year = prompt("请输入年份&q ...

  4. cmake引用包初探

    应要求使用的是 mediastreamer2 库.以前开发是在tools下注册了一个新的tool,现在应该另行建立一个项目. 好像 CMake 写的项目叫package??? 项目名字是 mstest ...

  5. CSS 实现元素较宽不能被完全展示时将其隐藏

    首发于本人的博客 varnull.cn 遇到一个需求,需要实现的样式是固定宽度的容器里一排显示若干个标签,数量不定,每个标签的长度也不定.当到了某个标签不能被完全展示下时则不显示.大致效果如下,标签只 ...

  6. DIV的失去焦点(blur)实现

    用防抖实现DIV鼠标移出消失   由于div标签本身不支持onblur事件,所以对于点击一个按钮弹出的div,我们想要当这个div失去焦点的时候,让它消失不能使用的onblur来实现.  但是可以利用 ...

  7. 用 git 钩子,检测代码规范性(eslint、standard)

    最终实现效果说明:用 git commit 提交代码之前,利用 pre-commit git 钩子,实现代码规范检测(eslint.standard 规范),符合规范之后才可以提交到 git 仓库.这 ...

  8. vue开发路由相关基础知识和笔记

    路由实现:hash模式 和 history模式 hash模式: 概述 在浏览器中符号"#",#以及#后面的字符称之为hash,用window.location.hash读取: 特点 ...

  9. SQL数据库中的增删改查总结1

    一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into]<表名> [列名] values <列值> 例:insert into Strdents ...

  10. 通过实现简单聊天室了解websocket的基础使用

    websocket基础使用 用到的依赖包 websocket的依赖 <dependency> <groupId>javax.websocket</groupId> ...