0

我在一个主动/主动集群上设置多个 SQL 实例,在我们现有的 SQL 集群上,集群名称是 SQLCLUSTER,但我们以 SQLCLUSTERINST1\Instance1、SQLCLUSTERINST2\Instance2 等方式访问这些实例。因为每个实例都有自己的无论如何IP和网络名称,我可以在每个网络名称上安装SQL作为“默认”实例吗?我真的很想访问我的实例而不必提供实例名称(即,而不是上面的,只是 SQLCLUSTERINST1、SQLCLUSTERINST2 等),但我对 SQL 的理解是,即使在集群中,实例名称也是必需的,即使 IP 已经唯一标识了一个实例。

有谁知道我能不能做到这一点?我即将安装第一个实例,如果不需要,我想在开始将它们作为命名实例安装之前得到答案。当只有实例集群名称可以唯一地按原样标识 sql 实例时,必须提供实例集群名称和实例名称才能连接到服务器,这似乎是多余的,并且可能是不必要的。我希望每个集群组有一个默认实例(因为它们共享一个 IP),但不是每个集群。

4

3 回答 3

2

您只能在主动/被动集群中使用默认实例。这样做的原因是因为您不能在同一台服务器上安装多个默认实例,集群需要在集群的每个节点上安装一个实例以支持故障转移。

于 2009-05-01T14:56:46.447 回答
1

我最终找到了解决此问题的方法。当我在集群上安装命名实例时,我可以使用每个 DNS 名称上的端口 1433 访问它们,因此我不必提供实例名称来连接,这正是我所追求的。

为了实现这一点,我必须修改侦听器配置以强制每个实例在其专用 IP 上侦听端口 1433,而不是仅仅依赖动态端口和 SQL 浏览器。

我已经在我的博客上详细说明了步骤

于 2009-05-10T20:12:55.780 回答
0

好主意。我还没有阅读您的博客文章,但我怀疑限制围绕注册表项或目录结构。请记住,每个节点只有一个用于 SQL Server 的注册表配置单元。有一个注册表项列出了盒子上的实例。这是一个空格分隔的列表。我很确定该列表中必须有不同的值,因此,您不能拥有多个 MSSQLSERVER 实例。默认实例的内部实例名称是 MSSQLSERVER。所以我认为,如果没有别的,那就是你的限制。但是,我确实认为您对所有涉及的实例都使用端口 1433 有一个绝妙的想法。干得好,感谢分享。我想我可能会在下一个集群上自己尝试一下!

于 2009-08-07T11:46:08.647 回答