2017-08-24 583 views
0

尝试从使用MS Management Studio和服务器名称的远程计算机连接到SQL数据库时,会收到以下消息[ XX.XXX.XXX.XXX,1433 \ MyServerName ]和SQL认证:SQL网络实例相关问题(带有错误258)

Cannot connect to XX.XXX.XXX.XXX,1433\MyServerName.

ADDITIONAL INFORMATION: 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: TCP Provider, error: 0 - The wait operation timed out.) (Microsoft SQL Server, Error: 258)

The wait operation timed out


我也做了以下内容:在

  • 允许远程连接SQL Management Studio中的“服务器属性”窗口
  • 配置的服务器机器具有静态IPv4/DNS地址。
  • 启用TCP/IP中的SQL配置管理器(在SQL Server网络配置)
  • 在TCP/IP属性,调整[协议 - >收听全部 - >否] &组IP [1-8],以TCP端口1433并将IPAll端口设置为1433(TCP动态端口留空)
  • 在Windows防火墙中为端口TCP 1433,UDP 1434设置入站/出站启用连接(域,公共,私有)规则(应该没有区别,因为指定了端口) ,服务可执行文件:sqlbrowser.exe在C:\ Program Files文件(x86)\ Microsoft SQL Server \ 90 \共享(未使用我认为是因为指定了端口)sqlservr.exe在C:\ Prog ram Files \ Microsoft SQL Server \ MSSQL13.MyServerName \ MSSQL \ Binn
  • 在服务器端路由器中为端口1433(TCP),1434(UDP)(对于服务器的本地IPv4地址而言,无关紧要)相应的端口1433,1434。
  • 确保SQL服务正在运行,端口已打开并在服务器计算机上侦听。

我可以连接到数据库使用Windows或SQL凭据与一台PC的名称或机器的本地IPv4服务器计算机上。

有趣的是,在运行时>telnet XX.XXX.XXX.XXX 1433,大约需要10-12秒失败(无法打开连接到主机,端口1433:连接失败),但我可以看到2个包来路由器本身。与使用SQL管理器的登录相同 - 数据包到达路由器,但是服务器机器拒绝(不解决?)连接,或者它甚至没有到达机器。

感谢您的建议。


版本中使用:

  • 的MS SQL Server 2016 Express中,MS SQL Management Studio中17时,SQL Server 2016配置管理器,Windows 10专业版。

回答

0

您是否尝试过本地1433上的telnet?

您确定您的本地连接正在使用TCP/IP吗?默认情况下,本地连接使用DBNMPNTW(命名管道),它在后端使用共享内存进行本地连接,速度比TCP/IP更快。

当SQL Server在TCP/IP上正常工作时,telnet将连接并让您等待协议闪烁 - 它不会挂起10-12秒并失败。

如果telnet工作在本地但不是远程,那么你知道问题出在网络层(防火墙,NAT,路由等)。如果没有,那么问题出现在SQL配置设置中。更改连接设置后是否重新启动服务?

+0

感谢您的回复。 1)是的,我在服务器上尝试了'> telnet [local IPv4 1433]'和'> telnet [localhost 1433]':都成功了。 2)我不完全确定如何检查连接是否使用命名管道,或者是否是远程连接的因素3)每次更改任何内容时都会重新启动服务。 –

相关问题