当我尝试在本地网络上访问 Microsoft SQL Server 2008 R2 SP2 的命名实例时,没有遇到任何问题。但是当我从互联网上在办公室外访问它时,我无法连接到数据库服务器。
它返回以下“著名”的错误:
A network-related or instance-specific error occured while establishing a connection to SQL Server. The server was not found or was not accessible. Verify 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)
此错误发生在 winforms 应用程序中以及通过 SQL Server Management Studio 中。
服务器实例名称是正确的,因为我可以在同一个本地网络上使用它。我明确指出服务器是一个域名,例如“sql2008.domainname.com\sqldbname”。我还确保配置 SQL Server 以允许从 SSMS > 服务器属性 > 连接 > 远程连接进行远程连接。
更精确:SQL 浏览器已启动并运行。TCP/IP 已启用。安装数据库服务器时没有问题。
过去几天我做了很多研究,尝试了一切......我没有其他想法了。
负责此服务器的系统管理员向我保证,数据库服务器上的端口 1433 和 1434 已打开。我可以从家里 ping 服务器,当我使用 putty 命令 telnet 主机端口时,没有出现任何错误。该命令正在等待我输入一些内容。
您还有其他可能导致此问题的想法吗?端口转发等?
谢谢你,LB
答案1
应用 SQL 2008 R2 SP2 后,我们遇到了一些奇怪的网络问题。
已经有一个包含 35 个修补程序的累积更新 1。
SQL Server 2008 R2 Service Pack 2 的累积更新包 1
http://support.microsoft.com/kb/2720425
您可能需要执行数据包捕获,因为重现问题所需的数据量非常少,而且问题很容易重现。NetMon 的 SQL 解析器实际上相当不错。