无域alwayson

博客介绍了在Windows 2016和SQL Server 2016环境下,搭建故障转移群集和配置SQL Server AlwaysOn的过程。包括节点信息、群集创建命令,以及采用共享文件夹方式配置AlwaysOn时,创建证书和端点进行证书认证信任的操作,还提及版本可能影响结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要windows2016和sqlserver216

 

 

节点1 :192.168.0.191

节点2 : 192.168.0.192

 

2

 

 

3

 

 

 

 

安装故障转移群集 和  Frame

 

 

 

4

192.168.0.190 SERVER1.sky.com

192.168.0.191 SERVER2.sky.com

192.168.0.194 Jf-alwayson

 

New-Cluster -Name Jf-alwayson -Node SERVER1,SERVER2 -StaticAddress 192.168.0.194 -AdministrativeAccessPoint DNS

 

 

--获取集群名
Get-Cluster  

--
群集详情  
Get-ClusterResource

 

Get-ClusterNode

 

安装数据库

 

 

:配置SQL Server AlwaysOn 

SQL Server的安装这里就不描述,直接从配置AlwaysOn开始操作。

1 ,这里配置AlwaysOn,我采用的是共享文件夹的方式,所以首先在DB1这个节点上创建一个共享文件夹添加之前在每个节点上都创建的用户DCAdmin,让DB2这个节点也能访问。

 

 

既然节点没有加入域,那么就不能用域认证,只能用证书认证,因此需要创建证书和端点。

因此在配置可用性组前先在各节点配置证书认证信任。

(证书的位置没什么关系,只要能够创建就可以了)

4,分别在两个节点数据库上创建证书,并且彼此还原对方的证书,SQL代码如下:

--共享文件夹路径: ---\\JF-SQLDB01\SQLAlwaysOnShare

--
节点一上执行:创建主密钥/证书/端点,备份证书。
USE master;
GO

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'JFAlwaysOnShare2016'; ----
密码
GO

CREATE CERTIFICATE Cert_DB01
WITH SUBJECT = 'Cert_DB01',
START_DATE = '2017-12-01',EXPIRY_DATE = '2099-12-31';
GO

BACKUP CERTIFICATE Cert_DB01
TO FILE = '\\JF-SQLDB01\SQLAlwaysOnShare\Cert_DB01.cer';
GO

CREATE ENDPOINT [SQLAG_Endpoint]
AUTHORIZATION [JF-SQLDB01\administrator]
STATE=STARTED
AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
FOR DATA_MIRRORING
(ROLE = ALL,AUTHENTICATION = CERTIFICATE Cert_DB01, ENCRYPTION = REQUIRED ALGORITHM AES)
GO



--
节点二上执行:创建主密钥/证书,备份证书。
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'JFAlwaysOnShare2016';
GO

CREATE CERTIFICATE Cert_DB02
WITH SUBJECT = 'Cert_DB02',
START_DATE = '2017-12-01',EXPIRY_DATE = '2099-12-31';
GO

BACKUP CERTIFICATE Cert_DB02
TO FILE = '\\JF-SQLDB01\SQLAlwaysOnShare\Cert_DB02.cer';
GO

 

 

(下面这句,似乎不用在节点2执行了)
CREATE ENDPOINT [SQLAG_Endpoint]
AUTHORIZATION [JF-SQLDB02\administrator]
STATE=STARTED
AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
FOR DATA_MIRRORING
(ROLE = ALL,AUTHENTICATION = CERTIFICATE Cert_DB02, ENCRYPTION = REQUIRED ALGORITHM AES)
GO


--
节点一上执行:创建节点二的证书
USE master;
GO
CREATE CERTIFICATE Cert_DB02
FROM FILE = '\\JF-SQLDB01\SQLAlwaysOnShare\Cert_DB02.cer';
GO

--
节点二上执行:创建节点一的证书
USE master;
GO
CREATE CERTIFICATE Cert_DB01
FROM FILE = '\\JF-SQLDB01\SQLAlwaysOnShare\Cert_DB01.cer';
GO

 

后面的配置跟always差不多。当故障转移群集可以搭建成功,意味着,alwayson几乎没什么问题。

有时候操作系统版本和数据库版本会影响结果

 

### 如何在非环境中配置 SQL Server 2016 AlwaysOn 可用性组 #### 准备工作 为了成功部署SQL Server 2016 AlwaysOn可用性组,在非环境中的准备工作至关重要。这包括但不限于安装必要的软件和服务,以及设置网络通信。 - **确保所有节点的操作系统版本一致**:所有的参与节点都应运行相同版本的 Windows Server 和 SQL Server 软件[^4]。 - **启用并配置防火墙规则**:允许通过特定端口进行通信,比如用于 WSFC 的默认端口 3343 和 SQL Server 实例监听的 TCP/IP 端口号。 #### 创建单机WSFC(Windows Server Failover Clustering) 即使是在非环境下也可以建立基于本地账户的身份验证机制来构建 WSFC 群集。具体操作如下: - 使用管理员权限启动“故障转移群集管理器”,并通过菜单选项连接至当前计算机作为新的或现有的群集成员加入。 - 当提示指定见证者资源时可以选择忽略此步骤因为对于两节点以上的简单场景来说不是必需项;而对于双节点方案,则可以考虑利用文件共享见证(FSW) 或云见证(Cloud Witness)[^5]。 #### 设置DNS解析服务 由于缺乏活动目录集成的支持,因此需要手动为每个节点定义静态 IP 地址,并且要有一个可靠的 DNS 解析方式使得各节点之间能够互相识别对方的名字而不是仅仅依靠IP地址访问[^5]。 ```powershell # PowerShell命令示例:添加一个新的正向查找区和主机记录 Add-Name "test.com" -ReplicationScope Forest Add-DnsServerResourceRecordA -Name node1 -IPv4Address "192.168.x.y" -ZoneName "test.com" ``` #### 安装与配置SQL Server实例 按照常规流程分别于各个计划成为AlwaysOn AG一部分的机器上面安装好相应的SQL Server 版本之后,继续执行下面的任务: - 对每一个目标实例应用相同的修补级别更新; - 同步时间同步策略以保持整个集群内的时间一致性; - 执行`sp_configure 'show advanced options', 1; RECONFIGURE WITH OVERRIDE; sp_configure 'clr enabled', 1; RECONFIGURE WITH OVERRIDE;` 来激活CLR支持以便某些高级特性正常运作。 #### 建立可用性组 最后一步就是实际创建AlwaysOn Availability Group对象本身了。可以通过SSMS图形界面或者T-SQL脚本来实现这一点。这里给出一段简单的 T-SQL 示例代码片段用来说明如何定义这样一个实体结构[^1]: ```sql CREATE AVAILABILITY GROUP [MyAG] WITH ( AUTOMATED_BACKUP_PREFERENCE = PRIMARY, FAILOVER_MODE = MANUAL, -- 自动/手动切换模式取决于业务需求 DTC_SUPPORT = NONE -- 如果不需要分布式事务则设为NONE即可 ); GO ALTER AVAILABILITY GROUP [MyAG] ADD LISTENER N'aglistener' ( WITH IP ((N'192.168.x.z',(N'255.255.255.0'))) ); GO ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值