MS SQL Server 提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)(Microsoft SQL Server,错误:5)

MS SQL Server 提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)(Microsoft SQL Server,错误:5)

我有一台运行 MS SQL Server 2016 数据库的服务器。我还有另外两台服务器:服务器 A 和服务器 B。我可以使用服务器 A 上的 SSMS 连接到数据库,但无法使用 SSMS 中与服务器 B 相同的用户名/密码/服务器名称连接到数据库。以下是有关服务器 A 和服务器 B 的一些事实:

  1. 服务器A和服务器B在同一个网络(服务器A IP地址:10.0.0.52;服务器B IP地址:10.0.0.73)
  2. 数据库服务器位于完全不同的网络上。
  3. 服务器 A 上安装了 MS SQL Server 2012 实例;服务器 B 上未安装 MS SQL Server。
  4. 即使我可以使用 SSMS 从服务器 A 连接到数据库,但我无法从服务器 A 或服务器 B ping 数据库服务器的 IP 地址。
  5. 服务器 A 和服务器 B 上没有防火墙。
  6. 服务器 A 和服务器 B 都运行 MS Server 2012 R2。
  7. 当我尝试从服务器 A 和服务器 B 进行连接时,我尝试使用数据库服务器的 IP 地址以及数据库服务器的实际计算机名称。两个结果都相同:我可以使用服务器 A 上的 SSMS 连接到数据库,但是我无法使用在服务器 A 上使用的所有相同设置从服务器 B 连接到数据库。

这是我尝试使用服务器 B 上的 SSMS 连接数据库时收到的错误的屏幕截图(我的声誉太低,无法直接粘贴屏幕截图,请点击链接)

错误截图

服务器 A 和服务器 B 之间有些不同。我不知道服务器 A 和服务器 B 之间是否有配置不同,或者数据库服务器上是否有允许来自服务器 A 而不是服务器 B 的连接配置。不幸的是,我无法远程访问数据库服务器,所以希望有人能够指出服务器 A 上配置了什么,允许访问数据库服务器,需要在服务器 B 上配置什么才能允许来自服务器 B 的连接。如果有人能指出我应该检查什么,我将不胜感激。提前致谢。

答案1

需要检查的事项有以下几点……

这是 SQL Server Express 吗?如果是:https://stackoverflow.com/questions/37704699/enabling-remote-access-in-ms-sql-server-2012-express

检查尝试从 srv A 和 srv B telnet 到 SQL 服务器的端口 1433 是否获得相同的结果(命令提示符 -> “telnet 10.0.0.52 1433”)

检查两台服务器是否将您的网络标记为私有或域。公共网络可能需要在防火墙上进行额外配置 http://woshub.com/wp-content/uploads/2016/10/network4-public-network.jpg

您写道没有防火墙,但实际上有 - 请确保已关闭 Windows 防火墙(在服务器管理器中)

相关内容