我刚刚在 Windows Server 2012 R2 上安装了 SQL Server。安装顺利,但我的应用程序无法连接到它。
如果我在连接字符串中使用服务器的公共 DNS 名称,则堆栈跟踪如下所示:
[Win32Exception (0x80004005):访问被拒绝]
[SqlException (0x80131904): 建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。未找到或无法访问服务器。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)]
如果我使用服务器的 IP 地址,则:
[Win32Exception (0x80004005):未找到网络路径]
[SqlException (0x80131904): 建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。未找到或无法访问服务器。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)]
我发现两种方式都出现了相同的错误,但我已经研究了 3 个小时却没能找到问题所在。
以下是我所做的:
- 我已经验证允许远程连接
- 我已经验证防火墙上的端口 1433 和 1434 已打开,可供传入和传出流量(Windows 防火墙和 AWS 安全组)
- 我已验证 SQL Server 配置管理器中为 TCP/IP 指定了端口 1433
- 我已重启 SQL Server 服务
- 我已经检查过
netstat -a
,尽管出现上述所有情况,但这些端口上没有任何内容被监听。 - 我已经验证 SQL Server 和相关服务确实正在运行
- 我已经验证 TCP/IP 已启用 - 此服务器为我的网站提供服务,并且在配置管理器下,TCP/IP 被标记为已启用。
我不知道还能做什么,所以如果有人有什么建议......