我有一台运行 MS SQL Server 2016 数据库的服务器。我还有另外两台服务器:服务器 A 和服务器 B。我可以使用服务器 A 上的 SSMS 连接到数据库,但无法使用 SSMS 中与服务器 B 相同的用户名/密码/服务器名称连接到数据库。以下是有关服务器 A 和服务器 B 的一些事实:
- 服务器A和服务器B在同一个网络(服务器A IP地址:10.0.0.52;服务器B IP地址:10.0.0.73)
- 数据库服务器位于完全不同的网络上。
- 服务器 A 上安装了 MS SQL Server 2012 实例;服务器 B 上未安装 MS SQL Server。
- 即使我可以使用 SSMS 从服务器 A 连接到数据库,但我无法从服务器 A 或服务器 B ping 数据库服务器的 IP 地址。
- 服务器 A 和服务器 B 上没有防火墙。
- 服务器 A 和服务器 B 都运行 MS Server 2012 R2。
- 当我尝试从服务器 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 防火墙(在服务器管理器中)