从远程客户端访问Windows Server 2008 R2上的SQL Server

时间:2011-04-19 13:42:28

标签: sql-server windows-server-2008-r2

我们目前正在使用安装在远程CentOS盒上的PostgreSQL转向使用安装在远程Windows Server 2008 R2盒子上的MS SQL Server 2008 R2。

我们使用此数据库的Web应用程序已安装并运行在另一个将保留的CentOS盒中。

所有这些框都由第三方托管服务提供商提供,并且都在同一个域网络中。

因此,我们的开发远离服务器/数据库域,因为我们的开发机器是远程的。在过去开放VPN足以让我们在我们的PC上本地运行的Web应用程序的开发实例远程连接到运行在CentOS盒子上的PostgreSQL数据库。

但是现在我们在使用Windows Server 2008 R2框时遇到了同样的麻烦。即使VPN打开,任何连接(甚至ping)远程服务器计算机的尝试都会超时。

我们在新数据库服务器上获取数据库实例连接的代码是正确的,因为当我们将该代码上传到CentOS应用程序框并运行它时,它连接正常,因为代码现在在一个框中运行与Windows Server 2008 R2框相同的物理域。但是,我们需要从远程开发机器建立连接。

这有意义吗? 我们需要更改一些Windows防火墙设置以允许远程连接吗? 正如我所说,我们甚至无法从远程盒子PING新的Windows Server 2008 R2机器。

6 个答案:

答案 0 :(得分:8)

以下是对我的远程连接有效的总结。我不是这方面的专家,所以我的一些步骤可能没有必要。我从这个问题的其他答案中采取了一些步骤。

  • 打开SQL Server配置管理器
  • 选择SQL Server网络配置
  • 选择您的SQL Server实例
  • 确保已启用TCP / IP协议
  • 右键单击TCP / IP协议
  • 选择属性
  • 单击“IP地址”选项卡
  • 向下滚动到IP4。服务器的IP地址应该在这里。将active设置为yes并启用为yes。将TCP端口设置为1433(不知道是否有必要。可以有专家评论)
  • 向下滚动到IPAll。将TCP端口设置为1433
  • 为端口1433制作入站防火墙规则
  • 打开sql server management studio,右键单击服务器实例,属性 - >连接 - >允许远程连接。安全性 - > SQL Server和Windows身份验证模式
  • 重启sql server service
  • 重启sql server browser

就像另一个答案所说,你必须在你的客户端使用正确的连接字符串。

答案 1 :(得分:7)

执行以下操作:

  1. 打开SQL Server Configuration Manager
  2. 选择SQL Server Network Configuration
  3. 选择您的SQL Server实例
  4. 确保已启用 TCP / IP协议
  5. 重新启动服务器
  6. 考虑以下事项:

    • 身份验证模式(Windows / SQL Server /混合)
      • Windows用户权限
    • 连接字符串中的服务器名称
      • <不同machine_name> \< INSTANCE_NAME> (相互物理网络)
      • TCP:其中IP_ADDRESS> \< INSTANCE_NAME> (不同的物理网络)

答案 2 :(得分:1)

确保取消阻止用于SQL Server的1433端口。如果您的实例已命名,则需要在配置管理器中为此实例设置端口,然后在防火墙中取消阻止此端口。

答案 3 :(得分:1)

结合其他答案的提示和我们的托管服务提供商的帮助,我们设法解决了这个问题。这主要是由我们的提供商阻止这些端口的问题。

答案 4 :(得分:1)

据我所知,这是一个旧帖子,但要检查的另一件事是确保您在SQL Server网络配置的IP地址选项卡上启用了特定的IP地址和端口,这是对其他帖子的补充。有关详细信息,请参阅此LINK

答案 5 :(得分:-1)

如果Ip配置和其他事情后仍然存在问题。

请检查客户端电脑的日期时间。

它应该与服务器相同

[我最近用这种技术解决了]

如果客户端计算机未与服务器时间同步客户端未连接到服务器,则sql server中存在问题。