SQLSERVER2016 无域控AlwaysOn 实施步骤

步骤:

一、安装3个windows server 2016系统

1)在3台机器建立具有administrators权限的相同账号密码,本例子直接使用administrator;

2)分别修改计算机名称为 sqldb1,sqldb2,sqldb3;

3)配置dns,如testag.com;

4)在3台服务器上做好hosts映射,如:

192.168.40.128 sqldb1

192.168.40.128 sqldb1.testag.com

192.168.40.129 sqldb2

192.168.40.129 sqldb2.testag.com

192.168.40.130 sqldb3

192.168.40.130 sqldb3.testag.com

192.168.40.100 testcluster

192.168.40.100 testcluster.testag.com

192.168.40.200 sqllistner

192.168.40.200 sqllistner.testag.com

二、配置故障转移群集

1)在3台机器上分别安装故障转移群集;

2)建立故障转移群集 testcluster.testag.com;

三、每台机器单独安装SQLSERVER 2016

1)在3台机器上分别安装SQLSERVER2016,独立安装,非群集安装;

2)给3台服务器的SQLSERVER配置相同的启动账号;

3)配置证书;

四、配置Alwayson

1)在另外2台辅助副本机器上恢复要加入alwayson的数据库;

2)用SSMS的GUI创建alwayson;注:我使用的SSMS按本会丢失两个关键语句,导致创建失败,https://www.cnblogs.com/double-K/p/5994166.html 该博有说明,这两个语句是:

------------这部分代码是图形化工具中缺失的步骤

:Connect sqldb2

ALTER AVAILABILITY GROUP [sqldbag] JOIN;

Go

ALTER DATABASE [testdb2] SET HADR AVAILABILITY GROUP = [sqldbag];
GO

:Connect sqldb3

ALTER AVAILABILITY GROUP [sqldbag] JOIN;

GO

ALTER DATABASE [testdb2] SET HADR AVAILABILITY GROUP = [sqldbag];

GO

3)创建侦听器 sqllistner,做好hosts映射;

4)创建只读路由,让alwayson支持读写分离;

ALTER AVAILABILITY GROUP sqldbag
MODIFY REPLICA ON N'sqldb1' WITH (SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY)); ALTER AVAILABILITY GROUP sqldbag
MODIFY REPLICA ON N'sqldb1' WITH (SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'tcp://sqldb1.testag.com:1433')); ALTER AVAILABILITY GROUP sqldbag
MODIFY REPLICA ON N'sqldb2' WITH (SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY)); ALTER AVAILABILITY GROUP sqldbag
MODIFY REPLICA ON N'sqldb2' WITH (SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'tcp://sqldb2.testag.com:1433')); ALTER AVAILABILITY GROUP sqldbag
MODIFY REPLICA ON N'sqldb3' WITH (SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY)); ALTER AVAILABILITY GROUP sqldbag
MODIFY REPLICA ON N'sqldb3' WITH (SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'tcp://sqldb3.testag.com:1433')); ALTER AVAILABILITY GROUP sqldbag
MODIFY REPLICA ON N'sqldb1' WITH (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('sqldb2','sqldb3','sqldb1'))); ALTER AVAILABILITY GROUP sqldbag
MODIFY REPLICA ON N'sqldb2' WITH (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('sqldb3','sqldb1','sqldb2'))); ALTER AVAILABILITY GROUP sqldbag
MODIFY REPLICA ON N'sqldb3' WITH (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('sqldb2','sqldb1','sqldb3')));

ssms要让只读路由生效,必须具备两点:

1)连接到制定数据库,而不是默认;

2)增加连接参数 ApplicationIntent=ReadOnly

参考文档:

https://www.cnblogs.com/double-K/p/5994166.html

http://www.cnblogs.com/lyhabc/p/6498712.html

----------------------------------

注意问题和事项:

1)所有sqlserver服务器创建相同密码的administrators权限的windows账号,用作sqlserver的启动账号,避免权限问题;

2)本人使用的ssms2016版本创建alwayson丢失语句,导致创建alwayson失败;

3)无域控,需要对所有资源做hosts映射,包含

sqldb1, sqldb2, sqldb3,  sqldb1.testag.com,  sqldb2.testag.com,  sqldb3.testag.com,

群集服务器 testcluster.testag.com,

侦听器 sqllistner, sqllistner.testag.com

4)忘记创建只读路由,通过侦听器无法连接到只读副本;

5)当alwayson的辅助副本中的 可读辅助副本 设置为 仅读意向 时,ssms无法打开数据库,需要配置 ApplicationIntent=ReadOnly 连接参数才可打开

SQLSERVER2016 无域控AlwaysOn 实施步骤的更多相关文章

  1. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

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

  2. (转)从0开始搭建SQL Server AlwaysOn 第一篇(配置域控+域用户DCADMIN)

    原文地址: http://www.cnblogs.com/lyhabc/p/4678330.html 实验环境: 准备工作 软件准备 (1) SQL Server 2012 (2) Windows S ...

  3. 服务器搭建域控与SQL Server的AlwaysOn环境过程(四)配置AlwaysOn

    0 引言 这一篇才真正开始搭建AlwaysOn,前三篇是为搭建AlwaysOn 做准备的. 步骤 1.3 配置AlwaysOn 请先使用本地用户Administrator登录这两个集群节点并执行下面的 ...

  4. (转载) 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    安装完之后别忘了还需要安装SSMS,这是坑爹的地方之二,干嘛不集成到SQL Server安装包里还要用户自己单独下载 下载地址:https://msdn.microsoft.com/en-us/lib ...

  5. SQL SERVER 2016 AlwaysOn 无域集群+负载均衡搭建与简测

    之前和很多群友聊天发现对2016的无域和负载均衡满心期待,毕竟可以简单搭建而且可以不适用第三方负载均衡器,SQL自己可以负载了.windows2016已经可以下载使用了,那么这回终于可以揭开令人憧憬向 ...

  6. 服务器搭建域控与SQL Server的AlwaysOn环境过程(三)配置故障转移

    0 引言 主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的. 在讲解步骤之前需要了解一下故障转移集群仲裁配置 下面图片来自<Windows Server20 ...

  7. sql server 2016 AlwaysOn实现无域高可用全教程

    一.简介环境:小编使用的服务器是windows server 2016(系统服务器) + sql server 2016(数据库服务器)(windows server 2016 + sql serve ...

  8. 配置SQL Server 2016无域AlwaysOn(转)

    Windows Server 2016 以及 SQL Server 2016出来已有一段时间了,因为Windows Server 2016可以配置无域的Windows群集,因此也能够以此来配置无域的S ...

  9. 服务器搭建域控与SQL Server的AlwaysOn环境过程(一) 搭建域控服务器

    0 准备阶段 1. Windows Server 服务器 3台(其中域控服务器配置可降低一个水准,目前博主试用的是:域控服务器--2核4G 数据库服务器(节点)--4核8G ) 2. SQL Serv ...

随机推荐

  1. TCP通信服务端及客户端代码

    Java TCP通信使用的是Socket(客服端)和ServerSocket(服务端),具体代码如下. server端代码: import java.io.BufferedReader; import ...

  2. c#后台修改前台DOM的css属性示例代码

    <div id = 'div1' runat="server">haha</div> ----------- 后台代码中这样调用 div1.Style[&q ...

  3. hdu 4685(匹配+强连通分量)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4685 思路:想了好久,终于想明白了,懒得写了,直接copy大牛的思路了,写的非常好! 做法是先求一次最 ...

  4. 基于JEECG的代码模板自动生成

    1.基于JEECG3.5.2,提供多种数据源的代码生成,目前支持Oracle良好: 2.可动态配置数据源: 可动态配置模板集合,基于freemarker的模板文件: 可选择需要生成的数据表: 可导入一 ...

  5. GSAP 官方文档(结贴)

    好久没写GSAP的教程的(其实我也不懂哈哈),国内也没什么人用,不对动画要求特别高的话,其实也没必要用GSAP,现在工作上没用到这个东西,也懒得写了,所以有问题的话去找一下greensock的官方文档 ...

  6. open() 函数以 a+ 模式打开文件

    这种模式打开文件,可读可写,从文件顶部读取内容,从文件底部追加内容,文件不存在则自动创建 [root@localhost ~]$ cat 1.txt aaa bbb ccc In [1]: data ...

  7. windows系统共享设置最顺的一次

    1.关掉防火墙 2.控制面板\网络和 Internet\网络和共享中心\高级共享设置 3.设置要共享的文件夹属性

  8. fopen()函数文件模板中w,w+,a,a+的区别

    "w" 写入方式打开,将文件指针指向文件头并将文件大小截为零.如果文件不存在则尝试创建之. "w+" 读写方式打开,将文件指针指向文件头并将文件大小截为零.如果 ...

  9. PHP 基础知识代码总结

    一.PHP基础语法 变量到数组 <?php //phpinfo(); /* 变量 $a=1;//不分配空间 echo "\$a=".$a; echo "<br ...

  10. 适配器模式(Adpater)

    一.适配器模式介绍 适配器模式:将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的类可以一起工作. 例如: NBA中的球员来自不同国家,而世界标准语言 ...