我对此并不熟悉,但情况是这样的:我有一个应用服务器和一个数据库服务器,两者都在私有网络上。如何在连接字符串中使用内部(或私有 IP,如果是同一事物)IP 而不是 WAN IP 允许从我的应用服务器连接到数据库服务器?如果我的术语有误或令人困惑,我深表歉意,但我很茫然,需要摆脱一直困扰我的“错误:40 个命名管道”错误。感谢大家的帮助。
答案1
确保 SQL Server 正在使用 SQL Server 配置管理器监听私有 IP。
- 扩张SQL Server 网络配置
- 选择实例
- 在右侧右键单击 TCP/IP 协议
- 选择属性
- 确保列表中的私有 IP 是已启用。 示例如下(xxx 应为真实 IP 地址)
(来源:yfrog.com)
确保它使用私有 IP 连接到服务器。
从 Web 服务器对数据库进行跟踪路由,查看它采用的路径。它是否通过私有 IP 进行?如果您的 Web 服务器是多宿主的,您可能需要添加一些静态路由路线-p 添加命令以确保它通过专用网络到达数据库服务器。
要解决命名管道错误,请检查以下内容:
- SQL Server 配置管理器中的 TCP/IP 已启用
- Windows/网络防火墙没有阻止您的 Web 服务器连接到 SQL 数据库服务器(默认实例是 TCP 端口 1433)
- 那允许远程连接已为 SQL Server 启用
答案2
SQL Server 应该监听其安装服务器的任何 IP 地址。然后您应该能够通过该 IP 地址进行连接。您可以发布您正在尝试的连接字符串(不带密码)吗?
当您通过名称 ping SQL Server 时,您获得的 IP 地址是什么?