sql - AlwaysOn 可用性组监听器访问

标签 sql listener alwayson

这个问题是关于访问可用性组监听器的正确方法?

假设我有两个 AlwaysOn 可用性组,它们具有以下 AG:AG1AG2 .
我也有 2 个听众叫 LISTENER1 (在 AG1 上)和 LISTENER2 (在 AG2 上)。
我有 2 个 SQL 节点 NODE1NODE2并且都运行了 2 个 SQL 实例:INSTANCE1INSTANCE2 .

如何正确连接到 AG1 的主副本通过听众?
我知道它不应该是 NODE1\INSTANCE,但以下哪个是正确的?

LISTENER1

或者
LISTENER1\INSTANCE1

我注意到两者都工作正常,我假设后者连接到 LISTENER1 的主要副本,然后让 SQL 浏览器发挥其魔力并连接到 INSTANCE1(这 - 幸运的是 - 在这个特定设置中是正确的)。

我注意到如果我使用 LISTENER1\INSTANCE2,这也有效,但是连接到托管 AG1 主要副本的节点的 INSTANCE2 实例!

兔子洞更进一步:如果我在两个 SQL 节点上都安装了一个默认实例,我会得到另一种行为:连接到 LISTENER1 , 将我连接到默认实例。

我的逻辑是正确的(SQL 浏览器服务)还是我完全错了?

仅供引用:在这种情况下,命名实例使用动态端口,所有监听器都托管在端口 1433 上

最佳答案

最好用LISTENER1\INSTANCE1因为你有两个实例,它们不是默认实例

关于sql - AlwaysOn 可用性组监听器访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51482778/

相关文章:

php - 如何获得此代码的输出。有时显示输出,有时不显示?

android - 如何避免复制监听器对 Android 中的粘贴使用react?

sql-server - 使用 AlwaysOn 集群进行加密

c# - SMO 相当于 SET HADR OFF

java - 如何实现一个鼠标监听器,返回鼠标在 JTable 中指向的字符?

sql-server - AlwaysOn AG 不会在 SQL Server Windows 服务重新启动时进行故障转移

sql - JPQL 按第二个表中的平均值排序

sql - 在 SQL Server 中查看与表

c# - MySql查询: get all customers that has their ID in both Customer and Customer_x_Billing table

java - Owasp.CsrfGuard.Test 出现 NullPointerException