与SQL网络实例相关的问题(错误258)

时间:2017-08-24 20:57:25

标签: sql-server tcp

尝试使用服务器名称 [ XX.XXX.XXX.XXX,1433 \ MyServerName ] <的MS Management Studio从远程计算机连接到SQL数据库时收到以下消息/ strong>和SQL身份验证:

  

无法连接至XX.XXX.XXX.XXX,1433 \ MyServerName。

     

其他资料:   建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:TCP提供程序,错误:0 - 等待操作超时。)(Microsoft SQL Server,错误:258)

     

等待操作超时

我做了以下事情:

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

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

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

感谢您的建议。

使用的版本:

  • MS SQL Server 2016 Express,MS SQL Management Studio 17,SQL Server 2016 Configuration Manager,Windows 10 Pro。

1 个答案:

答案 0 :(得分:0)

您是否曾在当地1433尝试过telnet?

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

当SQL Server在TCP / IP上正常工作时,telnet会连接并让你眨眼等待协议 - 它不会挂起10-12秒而且会失败。

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