使用默认实例时无法连接到服务器

使用默认实例时无法连接到服务器

当尝试使用默认实例名称 [server]\[instance] 连接到数据库时,我得到:

Cannot connect to RT-WEB\SQLEXPRESS
--> A network-related or instance-specific error occurred while establishing a connection to SQL server.  The server was not found or was not accessible.  Verify that the instance name is correct and that SQL Server is configured to allow remote connections.  (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)(Microsoft SQL Server)

但是如果我尝试连接到同一台服务器,而不包括实例,我就可以连接。此服务器上只有 1 个 SQL 实例。这不是问题,但我正在尝试为此服务器创建复制订阅,并且它在建立连接时需要实例名称。该屏幕中的错误:

Cannot connect to RT-WEB
-->SQL Server replication requires the actual server name to make a connection to the server.  Specify the actual server name, 'RT-WEB\SQLEXPRESS'. (Replication.Utilities)

事实是,RT-WEB 是来自 hosts 文件的别名,但是当我使用服务器的 IP 时,我得到完全相同的错误,包括建议的服务器名称。

答案1

因为您无需命名实例即可连接,这告诉我您的实例正在运行,并且正在监听默认 TCP 端口 1433。

因为在命名实例时无法连接,这告诉我 SQL Browser 服务未在服务器上运行,或者客户端和服务器之间的 UDP 1434 被阻止。(对于要通过名称连接到实例的客户端,它需要使用 UDP 端口 1434 与服务器上的 SQL Browser 服务通信,以找出该实例正在使用的端口。)

因此,请检查 SQL Browser 服务是否在服务器上运行,以及客户端和服务器之间的任何防火墙是否配置为允许 UDP 端口 1434 上的流量。

相关内容