SQL Server Always on Listener 配置和作用

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

可用性组侦听器配置

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

·虚拟网络名称 (VNN)

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

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

·配置为使用 DHCP或静态 IP

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

SQL Server Always on Listener 配置和作用_第1张图片

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

SQL Server Always on Listener 配置和作用_第2张图片

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

SQL Server Always on Listener 配置和作用_第3张图片

使用侦听器连接到主副本


若要使用可用性组侦听器连接到主副本以进行读写访问,连接字符串应指定可用性组侦听器 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)