我是一名通过 VPN 工作的程序员。
我大部分时间都使用本地数据库,但我的本地 SQL Server 2005 具有指向生产服务器的“链接服务器”服务器对象。
在公司让一些 IT 人员安装新防火墙之前,这种方法一直运行良好(尽管 VPN 速度较慢)。
现在,当我尝试通过它们访问数据时,我本地数据库上的链接服务器不起作用(示例:一个简单的选择命令)
Named Pipes Provider: Could not open a connection to SQL Server [53].
此外,
我可以通过 SSMS 或命令行上的 SQLCMD 很好地连接到数据库。
我很困惑为什么我能够通过 2 种方法连接到远程服务器,但不能通过链接服务器。
有小费吗?
谢谢!
这可能是因为您的链接服务器正在使用命名管道协议进行连接,而新的防火墙不允许它通过。您可以做以下两件事之一:
对于 #2,如果您使用的是 SQL Native Client (SQLNCLI),您可以通过工作站上的 SQL Server 配置管理器更改提供程序。打开它,展开 SQL Native Client Configuration 并单击 Client Protocols。将 TCP/IP 移动到比命名管道更高的顺序,或者如果它已经更高,则禁用命名管道。
防火墙人员可能会拒绝您打开端口 445 的请求,因此您可能无法更改链接服务器提供商的协议。