SQL群集+安装新实例+启用AlwaysOn可用性组功能
主要内容
    • 并行安装运行SQL server 的不同版本和实例
    • 启用AlwaysOn可用性组功能

实验环境

并行安装SQL Server 2012 +SQL Server 2016

场景1:基于SQL Server 2012搭建了Cluster01-SQL群集

 hostnameIP实例名端口说明
ADdc1.contoso.com192.168.136.150   
SQLSQL1.contoso.com192.168.136.151Cluster01-sql 安装SQL群集
SQLSQL2.contoso.com192.168.136.152Cluster01-sql 安装SQL群集
Cluster01-SQL 192.168.136.157 1433SQL群集
StorageStorage.contoso.com192.168.136.153  iSCSI

场景2:在场景1 的基础上,安装SQL Server 2016并启用AlwaysOn可用性组功能

 hostnameIP实例名端口说明
ADdc1.contoso.com192.168.136.150   
SQLSQL1.contoso.com192.168.136.151MSSQLSERVER0251433安装SQL独立实例
SQLSQL2.contoso.com192.168.136.152MSSQLSERVER0251433安装SQL独立实例
AG_Listener 192.168.136.165 1433侦听器
Cluster01-SQL 192.168.136.157 1433SQL群集
StorageStorage.contoso.com192.168.136.153  iSCSI

注:需要挂载一个磁盘作为第二个实例的数据盘。

AlwaysOn不支持SQL群集。所以这里是在每节点通过独立安装的相同实例实现的。

-------下面进行安装-------

image

配置摘要。

image

 

image

 

image

image

 

修改服务登陆账号。

image

修改端口号,防止端口冲突。重启服务。

image

连接数据库。可看到同一台服务器上存在不同版本的sql和实例。

image

image

 

接下来在SQL2.contoso.com上进行SQL Server 2016 的独立安装。这里不贴图了。(操作步骤和node1节点安装一样)

 

附:

并行使用 SQL Server 与其早期版本 SQL Server


可以在已运行 SQL Server 早期版本实例的计算机上安装 SQL Server。 如果计算机上已存在默认实例,则 SQL Server 必须作为命名实例安装。

System_CAPS_ICON_caution.jpg 小心

SQL Server SysPrep 不支持在同一台计算机上并行安装 SQL Server 2016 的已准备实例和早期版本的 SQL Server 。 例如,您不能并行安装 SQL Server 2016 实例与 SQL Server 2012的已准备实例。 但是,可以在同一台计算机上并行安装 SQL Server 的相同主版本的多个已准备实例。 有关详细信息,请参阅 Considerations for Installing SQL Server Using SysPrep

SQL Server 2016 不能在运行 Windows Server 2008 R2 Server Core SP1 的计算机上与 SQL Server 早期版本一起并行安装。 有关 Server Core 安装的详细信息,请参阅在服务器核心上安装 SQL Server 2016

下表显示了对 SQL Server 2016 的并行支持情况:

image

防止 IP 地址冲突


并行安装 SQL Server 故障转移群集实例与 SQL Server 数据库引擎 的独立实例时,请注意避免 IP 地址上的 TCP 端口号冲突。 当 数据库引擎 的两个实例都配置为使用默认 TCP 端口 (1433) 时,通常会发生冲突。 要避免冲突,请将一个实例配置为使用非默认的固定端口。 在独立实例上配置固定端口通常是最简单的。 若将 数据库引擎 配置为使用不同的端口,则在 SQL Server 故障转移群集实例失败到备用节点时,将防止出现会阻止实例启动的意外 IP 地址/TCP 端口冲突

https://technet.microsoft.com/zh-cn/library/ms143393.aspx


上面已经完成了基础环境安装,接下来就是实现想法的时候了。

-----------开始配置AlwaysOn可用性组-------------

用Microsoft SQL Server Management Studio 分别连接到 SQL1\MSSQLSERVER02

image

创建测试数据库“contosoDB2test”。

指定数据库路径。(保持默认。也可根据实际环境填写。)

image

备份数据库。

在SQL1上创建共享文件夹“AlwaysOnBAK”。将该文件共享并赋予数据库管理员和节点计算机读写的权限。如共享路径“\\SQL1\AlwaysOnBAK”。

image

执行任务-备份-全备。

备份路径:"C:\AlwaysOnBAK\contosoDB2test.bak"

image

创建可用性组。

image

简介。

image

指定名称。

image

选择数据库。

image

指定副本。该步骤需要设置,添加副本和属性、端点、备份选项、侦听器。

image

配置端点。该处保留默认。

image

备份选项。保留默认。

image

创建可用性组侦听器。也可后期配置。

侦听器DNS名称:AG_Listener

端口:1433

网络模式:静态IP:192.168.136.165

image

选择数据同步。指定所有副本可访问的共享网络位置:\\sql1\AlwaysOnBAK

image

验证。如存在警报结果请进行对应的排查,重新运行验证。

image

摘要。

image

请注意右下角的脚本的地方,可将配置文件导出文件等。

image

结果。点击完成,或者通过右下角选择执行的方式。

image

 

测试AlwaysOn功能。

新建查询。

use contosoDB2test
select @@servername as [ServerName];
go

image

手动故障转移。

image

执行此可用性组的计划故障转移。

image

选择此可用性组的新主副本。提问,该处的故障转移就绪状态为什么是“无数据丢失”?其实是可用性模式为“同步提交”。另外复习下还有其他模式吗?

image

指定辅助副本的连接。

 

image

摘要。

image

检验结果。

image

 

END. 至此已完成了并行安装运行不同版本不同实例SQL,同时也实现了SQL群集下混合使用AlwaysOn可用性组功能。其实要是磁盘资源足够的话,还是可以在场景1、2基础上搭建SQL双活的。