SQL Server Always on Listener 配置和作用

通过创建可用性组侦听器实现SQLServer2012AlwaysOn客户端连接的透明故障转移。侦听器使用虚拟网络名称(VNN)及虚拟IP(VIP),允许客户端连接到主副本或辅助副本而无需知道物理实例名称。

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

SQLServer 2012 Always On中我们可以通过创建一个可用性组侦听器来提供到给定可用性组的数据库的客户端连接。可用性组侦听器是一个虚拟网络名称 (VNN),客户端可连接到此名称以访问 AlwaysOn 可用性组的主副本或辅助副本中的数据库。可用性组侦听器使客户端无需知道它要连接到的 SQL Server物理实例的名称,即可连接到某个可用性副本(相当于SQLServer集群的Virtual Server Name)。无需修改客户端连接字符串,即可连接到当前主副本的当前位置。

可用性组侦听器配置

可用性组侦听器由以下各项定义:

·虚拟网络名称 (VNN)

·侦听器端口(针对侦听器名称侦听传入的请求)

·为可用性组可以故障转移到的一个或多个子网配置的一个或多个虚拟 IP (VIP)

·配置为使用 DHCP或静态 IP

下面是我的集群上Always On Listener 配置:

配置完成后用Listenner AG1连接数据库,查看服务器名称(可以看到连接的服务器是Node1):

做一次Failover然后在查询连接的服务器名称(可以看到这次实际连接到了Node2,跟集群一样的效果)

使用侦听器连接到主副本


若要使用可用性组侦听器连接到主副本以进行读写访问,连接字符串应指定可用性组侦听器 DNS 名称。如果可用性组主副本变为新副本,则将断开使用可用性组侦听器的网络名称的现有连接。然后,将到可用性组侦听器的新连接定向到新的主副本。如下所示是针对 ADO.NET 访问接口 (System.Data.SqlClient) 的基本连接字符串的一个示例:

Server=tcp: AG1,1433;Database=MyDB;IntegratedSecurity=SSPI

您仍可选择直接引用主副本或辅助副本的 SQL Server 实例名称,而不使用可用性组侦听器服务器名称,但如果您选择这样做,将会丢失新连接(自动定向到当前主副本)的优势。还将失去只读路由的优势。

如果可用性组仅拥有一个辅助副本并且未配置为允许对辅助副本进行读访问,则客户端可以通过使用数据库镜像连接字符串连接到主副本。 在将现有应用程序从数据库镜像迁移到可用性组时,此方法可能会很有用,只要您将可用性组限制为两个可用性副本(一个主副本和一个辅助副本)。 如果添加其他辅助副本,您需要为该可用性组创建一个可用性组侦听器,并更新您的应用程序以使用该可用性组侦听器 DNS 名称。

更多信息参考http://msdn.microsoft.com/zh-cn/library/hh213417.aspx

### 配置 SQL Server 2014 AlwaysOn 可用性组 配置 SQL Server 2014 的 AlwaysOn 可用性组涉及多个步骤,主要包括环境准备、创建 Windows Server 故障转移集群、启用 AlwaysOn 功能以及定义可用性组监听器。以下是详细的说明: #### 环境准备 为了成功部署 SQL Server AlwaysOn,需要满足一些先决条件。这包括安装并配置 Windows Server SQL Server 实例。确保所有服务器节点都位于同一 Active Directory 域中,并且已正确设置网络连接[^2]。 #### 创建 Windows Server 故障转移群集 通过 Failover Cluster Manager 工具来构建一个故障转移群集。此过程涉及到验证硬件兼容性网络连通性,随后完成实际的群集建立工作。每台参与的主机都需要支持 WSFC (Windows Server Failover Clustering)。 #### 启用 AlwaysOn 功能 在每一个计划作为副本成员的 SQL Server 实例上激活 AlwaysOn 功能。可以通过运行以下 T-SQL 脚本来实现这一目标: ```sql ALTER SERVER CONFIGURATION SET HADR ENABLED; ``` 这条命令会启动高可用灾难恢复(HA/DR)特性中的 AlwaysOn 支持。 #### 定义可用性组及其副本 利用 SQL Server Management Studio(SSMS),可以图形化地设计新的可用性组。指定主要副本(primary replica)其他次级副本(secondary replicas),同时调整同步模式(如自动或手动)、读取意向(read-intent)选项等参数设定[^3]。 #### 设置监听器 最后一步是添加一个 DNS 名称用于客户端访问目的——即所谓的“侦听程序”。它使得应用程序能够无缝切换到备用数据库而无需更改任何代码逻辑。执行下面类似的脚本可新增这样一个资源记录: ```sql CREATE AVAILABILITY GROUP ListenerName ... GO ALTER AVAILABILITY GROUP GroupName ADD LISTENER 'ListenerDNS' ( WITH IP (('IP_Address', 'Subnet_Mask')) ); ``` 以上操作完成后,就完成了基本的 SQL Server 2014 AlwaysOn 架构搭建流程[^1]^。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值