我如何阻止与SQL Server 2008的连接

时间:2010-08-31 16:37:51

标签: sql-server-2008

这是一个相当具体的问题,但我因为可能发生的事情而感到茫然。

我们在我们称之为ServerA的SQL Server 2008上运行。我们可以在ServerA中使用RDP,我们可以ping ServerA。如果我们将RDP引入ServerA,我们可以打开SQL Server Management Studio并连接到ServerA上运行的所有数据库实例。

然而,

我们无法从网络上的任何其他位置连接到任何这些实例。我不认为它是一个网络问题,因为如果我可以RDP和ping ServerA,那么网络就好了。而且我不认为它是一个权限,因为如果我是RDP,我可以连接到所有实例就好了。这几乎就像我开启了一些秘密的安全设置,它阻止了除localhost之外的任何IP的连接,或类似的东西。

是否存在这样的安全设置?我甚至不想知道如何进入这种状态,所以我不知道如何摆脱它。

4 个答案:

答案 0 :(得分:2)

SQL Server允许通过四种不同的协议进行连接:

  • 共享内存
  • 命名管道
  • TCP / IP
  • VIA

其中,如果您已使用默认设置安装SQL Server,则仅启用共享内存。

查看协议

  • RDP到您的数据库服务器
  • 打开SQL Server配置管理器(SSCM):开始 - >所有程序 - > Microsoft SQL Server 2008 - >配置工具 - > SQL Server配置管理器
  • 在SSCM中,展开“SQL Server 2008网络配置”节点
  • 为[instancename] 节点选择协议( instancename 是数据库实例的名称;我的名称为SQLEXPRESS)。

共享内存仅在数据库服务器上本地运行。这可能是您在RDP到服务器并打开SQL Server Management Studio(SSMS)时使用的协议。

从远程计算机连接到数据库服务器时,通常使用TCP / IP。 TCP / IP使用端口,SQL Server的默认端口 1433 。如果数据库服务器上安装了防火墙,则可能需要打开此端口。

启用TCP / IP协议

  • 双击右窗格中的 TCP / IP 协议
  • 已启用选项更改为是,然后单击确定
  • 您需要重新启动SQL Server服务

重新启动SQL Server服务

  • 选择 SQL Server 2008服务节点
  • 右键单击 SQL Server([instancename])服务,然后选择重新启动

您现在应该能够将SSMS从远程计算机连接到数据库服务器上运行的SQL Server。

答案 1 :(得分:2)

防火墙阻塞端口1433?

答案 2 :(得分:1)

确保SQL Browser服务正在运行。

答案 3 :(得分:1)

使用ServerA上的SQL Server配置管理器确保启用TCP / IP网络协议(默认情况下禁用)。它还需要在客户端网络配置中启用,但默认情况下会在此处启用。