我们使用此数据库的Web应用程序已安装并运行在另一个将保留的CentOS盒中.
所有这些盒子都由第三方托管服务提供商提供,并且都在同一个域网络上.
因此,我们的开发远离服务器/数据库域,因为我们的开发机器是远程的.在过去开放VPN足以允许我们在我们的PC上本地运行的Web应用程序的开发实例远程连接到运行在CentOS机器上的Postgresql数据库.
但是现在我们在使用Windows Server 2008 R2框时遇到了同样的问题.即使VPN打开,任何连接(甚至ping)远程服务器计算机的尝试都会超时.
我们在新数据库服务器上获取与数据库实例的连接的代码是正确的,因为当我们将该代码上传到CentOS应用程序框并运行它时,它连接正常,因为代码现在在同一物理域中的框上运行作为Windows Server 2008 R2框.但是,我们需要从远程开发机器建立连接.
这有意义吗?
我们需要更改一些Windows防火墙设置以允许远程连接吗?
正如我所说,我们甚至无法从远程盒子PING新的Windows Server 2008 R2机器.
解决方法
>打开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,右键单击服务器实例,properties-> connections->允许远程连接.安全性 – > sql Server和Windows身份验证模式
>重启sql server服务
>重启sql server浏览器
像另一个答案所说,您还必须在客户端中使用正确的连接字符串.