我正在使用以下连接字符串连接到远程 sql server 实例
"网络库=DBMSSOCN;数据源=xx.xxx.x.xxx,1433;初始目录=MyDatabase;用户ID=MyUserId;密码=MyPassword;连接超时=120;"
- Sql Server 浏览器正在运行
- 仅允许使用 TCP/IP 进行本地和远程连接
应用程序随机连接失败,引用以下 SqlException
TCP Provider, error: 0 - 连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机没有响应
连接代码如下
using (SqlConnection connection = new SqlConnection(m_ConnectionString))
{
connection.Open(); // falls over here
}
我想到了端口 1433 上的防火墙配置,但为什么防火墙有时允许连接,有时不允许连接?
是否需要运行 Sql Server 代理?如果是这样,为什么 MSDN 上对 Sql Server Agent 的描述在这方面并不明显?
谢谢!
编辑:尝试在防火墙上添加一个明确的规则来打开 1433 到目前为止一切都很好,但可能再次随机性很难说我是否修复了