首页 > 数据库 >SQL Server 2016 无域群集配置 AlwaysON 可用性组

SQL Server 2016 无域群集配置 AlwaysON 可用性组

时间:2023-01-10 12:07:59浏览次数:65  
标签:AlwaysON CERTIFICATE 证书 Server Cert SQL 服务器 2016 节点


windows server 2016 与 sql server 2016 高可用允许不许要加入AD ,管理方面省了挺多操作,也不用担心域控出现问题影响各服务器了。


本测试版本: window server 2016 datacenter + sql server 2016 ctp


IP规划:

主机名

IP

说明

ad

192.168.2.2

域服务器(kk.com)windows xp

Server131

192.168.2.131

节点

Server132

192.168.2.132

节点

Winclt2016

192.168.2.139

群集

Testag_listener

192.168.2.135

可用性组监听器


要求:每个节点都创建一个本地的计算机用户,要求账号密码一致,并隶属于管理员组 “Administrators” 。

也可使用默认的管理员账号administrator ,如果使用的不是默认的计算机管理员账号 administrator,则配置注册表添加 LocalAccountTokenFilterPolicy 设置为 1 。

如下:

new-itemproperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Value 1


本次测试使用的是默认的管理员账号:administrator

因不需要将计算机就加入到域中,但是DNS还是需要配置的,所以先安装DNS服务器,此处略过……


各节点配置网卡信息:

SQL Server 2016 无域群集配置 AlwaysON 可用性组_DNS


服务器不加入AD,但需要配置DNS后缀,如下:

SQL Server 2016 无域群集配置 AlwaysON 可用性组_IP_02


配置完成后,重启节点计算机,各节点就能通过服务器全名 (SERVER131.KK.COM) 相互ping通了。

在DNS服务器管理中,将各节点主机手动添加到DNS中,如下:

SQL Server 2016 无域群集配置 AlwaysON 可用性组_IP_03

添加完成后,DNS服务器也可以通过节点全名ping通各服务器了!

配置好节点名称和ip相关后,在各节点 添加 故障转移群集工具,同时添加 .net framwork 3.5


选择其中一个节点(将作为主节点),创建群集。

视频教程:​​https://msdnshared.blob.core.windows.net/media/2016/08/WorkgroupCluster.mp4?_=1​

到选择服务器时注意!如下图,应直接输入各节点名称,再确认添加。若从“浏览” 查找,可能找不到服务器;或者即使找到服务器,确认要添加的服务器时会出错。

SQL Server 2016 无域群集配置 AlwaysON 可用性组_DNS_04

此处设置群集名称和IP:

SQL Server 2016 无域群集配置 AlwaysON 可用性组_IP_05


接下来创建磁盘,配置仲裁,操作和以前版本差不多一样。


完成后在各节点独立安装 ms sql server 2016,服务账号选择本地管理员账号。(操作和以往版本一样)

SQL Server 2016 无域群集配置 AlwaysON 可用性组_服务器_06

SQL Server 2016 无域群集配置 AlwaysON 可用性组_DNS_07


配置 alwayson 可用性组,操作差不多。

但是既然节点没有加入AD,那么久不能用域认证,只能用证书认证,因此需要创建证书和端点。在配置可用性组前各节点进行证书认证信任。


本测试以两个节点为例,个节点数据库创建的证书,都备份并在其他节点还原。

--共享文件夹路径:C:\ClusterStorage\Volume1\

--节点一:创建主密钥/证书/端点,备份证书。
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'kk_testag2016';
GO
CREATE CERTIFICATE Cert_server131
WITH SUBJECT = 'Cert_server131',
START_DATE = '2017-01-01',EXPIRY_DATE = '2099-12-30';
GO
BACKUP CERTIFICATE Cert_server131
TO FILE = 'C:\ClusterStorage\Volume1\Cert_server131.cer';
GO
CREATE ENDPOINT [testag_endpoint]
AUTHORIZATION [server131\administrator]
STATE=STARTED
AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
FOR DATA_MIRRORING
(ROLE = ALL,AUTHENTICATION = CERTIFICATE Cert_server131, ENCRYPTION = REQUIRED ALGORITHM AES)
GO

--节点二:创建主密钥/证书,备份证书。
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'kk_testag2016';
GO
CREATE CERTIFICATE Cert_server132
WITH SUBJECT = 'Cert_server132',
START_DATE = '2017-01-01',EXPIRY_DATE = '2099-12-30';
GO
BACKUP CERTIFICATE Cert_server132
TO FILE = 'C:\ClusterStorage\Volume1\Cert_server132.cer';
GO
CREATE ENDPOINT [testag_endpoint]
AUTHORIZATION [server132\administrator]
STATE=STARTED
AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
FOR DATA_MIRRORING
(ROLE = ALL,AUTHENTICATION = CERTIFICATE Cert_server132, ENCRYPTION = REQUIRED ALGORITHM AES)
GO

--节点一:创建其他节点证书
USE master;
GO
CREATE CERTIFICATE Cert_server132
FROM FILE = 'C:\ClusterStorage\Volume1\Cert_server132.cer';
GO

--节点二:创建其他节点证书
USE master;
GO
CREATE CERTIFICATE Cert_server131
FROM FILE = 'C:\ClusterStorage\Volume1\Cert_server131.cer';
GO


完成后可配置可用性组了:同步提交可以设置3个了

SQL Server 2016 无域群集配置 AlwaysON 可用性组_IP_08


端点配置:端点填写刚才创建的端点名称,填写后, “端口号”+“端点名称”+“对数据进行加密” 则变为不可更改。其他配置一样。

SQL Server 2016 无域群集配置 AlwaysON 可用性组_DNS_09

完成如下:

SQL Server 2016 无域群集配置 AlwaysON 可用性组_DNS_10


详细步骤截图下载:​​AlwaysOn无域高可用组2016.rar​​

SQL Server 2016 无域群集配置 AlwaysON 可用性组_服务器_11


标签:AlwaysON,CERTIFICATE,证书,Server,Cert,SQL,服务器,2016,节点
From: https://blog.51cto.com/hzc2012/6000159

相关文章

  • SqlServer 凭据
    凭据是包含连接到SQLServer外部资源所需的身份验证信息(凭据)的记录。此信息由SQLServer在内部使用。大多凭据都包含一个Windows用户名和密码。利用凭据中存储的......
  • PostgreSQL(三)索引&执行计划
    索引:-------------------------------创建索引-------------------------------https://www.postgresql.org/docs/current/static/sql-createindex.htmlCREATE[UNIQUE]I......
  • PostgreSQL(二)基本语法
    数据库相关:shell符号:>pg符号:=##创建数据库,切换系统账号>su-postgres>createdbtestdb>dropdbtestdb#或者连接到数据库创建>psql>psqltestdb>psql-hlocalhost......
  • SqlServer 多服务器管理(MSSQL分布式作业管理)
    范围的多个实例的自动化管理SQLServer称为多服务器管理。使用多服务器管理可以执行下列操作:管理两台或多台服务器。在企业服务器之间安排数据仓库的信息流。若要利用......
  • PowerShell 连接 SQL SERVER/MySQL 数据库进行操作
     #配置信息$Database='DemoDB'$Server='"WIN-AHAU9NO5R6U\DOG"'$UserName='kk'$Password='123456'#创建连接对象$SqlConn=New-ObjectSystem.Data.SqlClient.S......
  • oracle ,mysql,sqlserver 挑选特定行号的纪录
    oracle:SELECT*FROMtableWHEREROWNUM<101;minusSELECT*FROMtableWHEREROWNUM<91;mysql:select*fromtablelimit5,5第一个5是开始的行号,第二个5是选择纪录......
  • mysql event 实例
    今天一网友求助,每天早上8点自动将A表中的10条数据插入B表,然后在A表中删除那10条数据。现测试功能:  有table_a和table_b表,每30秒table_a有2条数据插入到table_b表,然后删......
  • SQLServer 从xml 文件中提取节点数据到数据库中
    <?xmlversion="1.0"encoding="utf-8"?><!--editedwithXMLSpyv2010(http://www.altova.com)byfengshuai(founder)--><Root><Frame><Item><ID>0</ID><Nu......
  • 使用 NineData 高效编写 SQL
    SQL是StructuredQueryLanguage的缩写,中文翻译为“结构化查询语言”。它是关系型数据库的标准语言,所有的关系型数据库管理系统(RDBMS),比如MySQL、Oracle、SQLServer、P......
  • 【转发】oracle sqlplus 创建和调用存储过程(procedure)
    一、创建存储过程1、oracle创建存储过程的语法oracle存储过程语法格式CREATEORREPLACEPROCEDUREprocedureNameISDECLARE.......BEGIN...........END;......