![SQL Server 2005-我的链接服务器现在坏了!](https://linux22.com/image/490625/SQL%20Server%202005-%E6%88%91%E7%9A%84%E9%93%BE%E6%8E%A5%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%8E%B0%E5%9C%A8%E5%9D%8F%E4%BA%86%EF%BC%81.png)
我是一名通过 VPN 工作的程序员。
我大部分时间都使用本地数据库,但我的本地 SQL Server 2005 具有指向生产服务器的“链接服务器”服务器对象。
在公司让一些 IT 人员安装新的防火墙之前,这个功能一直运行良好(尽管通过 VPN 速度较慢)。
现在,当我尝试通过本地数据库上的链接服务器访问数据时,它们不起作用(例如:一个简单的选择命令)
Named Pipes Provider: Could not open a connection to SQL Server [53].
此外,
我能够通过 SSMS 或命令行上的 SQLCMD 很好地连接到数据库。
我很困惑为什么我可以通过两种方法连接到远程服务器,但不能通过链接服务器连接到远程服务器。
有小费吗?
谢谢!
答案1
这可能是因为您的链接服务器使用命名管道协议进行连接,而新防火墙不允许该协议通过。您可以执行以下两项操作之一:
- 要求防火墙管理员允许 TCP 端口 445(命名管道端口)上的传入流量
- 将链接服务器的提供程序更改为使用 TCP/IP 而不是命名管道。
对于 #2,如果您使用的是 SQL Native Client (SQLNCLI),则可以通过工作站上的 SQL Server 配置管理器更改提供程序。打开它,展开 SQL Native Client 配置并单击客户端协议。将 TCP/IP 移动到比命名管道更高的顺序,或者,如果它已经更高,则禁用命名管道。
防火墙人员可能会拒绝您打开端口 445 的请求,因此您可能无法更改链接服务器提供商的协议。