3

我在遇到奇怪连接问题的服务器上安装了 SQL Server 2000。

使用 SSMS 我无法使用我在 Configuration Manager 上设置的别名连接到它。别名设置为使用 TCPIP,这是按共享内存顺序排列的第一个协议。如果我使用在别名中输入的完全相同的服务器名称,那么我可以正常连接。

我在我的 ASP.NET 应用程序中看到完全相同的行为,使用连接失败的别名,使用它连接的名称就好了。ASP.NET 连接字符串未指定协议。

4

2 回答 2

1

使用服务器名称将使用客户端的默认连接协议。这可能是命名管道或 tcp/ip(MDAC 版本、升级与安装等)。

别名设置为使用 TCPIP,它是共享内存以下顺序中的第一个协议

我假设如果客户端别名设置为使用 tcp,则服务器仅配置为侦听命名管道,因此它仅适用于服务器名称。客户端最终会在它要使用的协议列表中找到命名管道。

要进行测试,请将 servername 替换为 np:servername 和 tcp:servername 以在不使用别名的情况下更改协议。

或者检查服务器正在监听的内容并修复它......

另一个选项是非标准 TCP 端口(服务器,而不是 1433)或防火墙阻止访问端口 1433/1434。

SQL 2000 书籍

于 2008-11-18T05:37:27.333 回答
0

别名是否指定了协议?服务器是否接受该协议?那是您按名称连接时使用的协议吗?(即客户端协议的顺序是什么)

于 2008-11-12T17:43:56.983 回答