这是一个相当具体的问题,但我因为可能发生的事情而感到茫然。
我们在我们称之为ServerA的SQL Server 2008上运行。我们可以在ServerA中使用RDP,我们可以ping ServerA。如果我们将RDP引入ServerA,我们可以打开SQL Server Management Studio并连接到ServerA上运行的所有数据库实例。
然而,
我们无法从网络上的任何其他位置连接到任何这些实例。我不认为它是一个网络问题,因为如果我可以RDP和ping ServerA,那么网络就好了。而且我不认为它是一个权限,因为如果我是RDP,我可以连接到所有实例就好了。这几乎就像我开启了一些秘密的安全设置,它阻止了除localhost之外的任何IP的连接,或类似的东西。
是否存在这样的安全设置?我甚至不想知道如何进入这种状态,所以我不知道如何摆脱它。
答案 0 :(得分:2)
SQL Server允许通过四种不同的协议进行连接:
其中,如果您已使用默认设置安装SQL Server,则仅启用共享内存。
查看协议:
共享内存仅在数据库服务器上本地运行。这可能是您在RDP到服务器并打开SQL Server Management Studio(SSMS)时使用的协议。
从远程计算机连接到数据库服务器时,通常使用TCP / IP。 TCP / IP使用端口,SQL Server的默认端口为 1433 。如果数据库服务器上安装了防火墙,则可能需要打开此端口。
启用TCP / IP协议:
重新启动SQL Server服务:
您现在应该能够将SSMS从远程计算机连接到数据库服务器上运行的SQL Server。
答案 1 :(得分:2)
防火墙阻塞端口1433?
答案 2 :(得分:1)
确保SQL Browser服务正在运行。
答案 3 :(得分:1)
使用ServerA上的SQL Server配置管理器确保启用TCP / IP网络协议(默认情况下禁用)。它还需要在客户端网络配置中启用,但默认情况下会在此处启用。