You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET远程连接SQL Server 2014 Express超时故障求助

解决VB.NET远程连接SQL Server 2014 Express超时问题

嘿,我看你在远程连接SQL Server 2014 Express时遇到了预登录握手超时的问题,这大概率是网络配置或者SQL Server的远程设置没弄对,我给你列几个排查步骤,你挨个试试:

1. 检查SQL Server Express的远程连接配置

首先得确保SQL Server允许远程连接:

  • 打开SQL Server配置管理器,找到「SQL Server网络配置」→「SQLEXPRESS的协议」,确认TCP/IP是启用状态(如果禁用,右键启用即可)。
  • 双击TCP/IP,切换到「IP地址」标签,拉到最底部的「IPAll」部分,确认TCP端口是1433(和你连接字符串里的端口保持一致)。同时,确保各个IP地址项的「已启用」设置为「Yes」。
  • 配置完成后,重启SQL Server服务:在「SQL Server服务」里找到「SQL Server (SQLEXPRESS)」,右键选择「重启」。

2. 检查服务器端防火墙设置

这是远程连接最常见的卡点:

  • 打开服务器的Windows Defender防火墙,进入「高级设置」,新建一条「入站规则」:选择「端口」类型,协议选TCP,特定本地端口填1433,然后选择「允许连接」,给规则起个名字比如「SQL Server远程访问」。
  • 如果你的服务器是云服务器,还要去云服务商的安全组控制台,添加一条允许1433端口TCP入站的规则,可暂时放行所有IP测试,没问题后再限制为你的客户端IP。

3. 验证客户端到服务器的网络连通性

在你的VB.NET客户端机器上,打开命令提示符做两个测试:

  • 运行 ping 77.246.xx.xx:如果能收到回复,说明基础网络通;如果ping不通,可能服务器禁用了ICMP,跳过这个直接测下一个。
  • 运行 telnet 77.246.xx.xx 1433:如果能成功连接(命令行窗口变空白),说明1433端口是通的;如果提示连接失败,那肯定是网络/防火墙的问题,回到上一步检查。

4. 优化连接字符串和超时设置

你的代码里的连接字符串可以做两个调整:

  • 增加连接超时时间,默认是15秒,握手超时说明需要更长时间,比如改成60秒:
    Dim connection As New SqlConnection("Data Source=77.246.xx.xx,1433;Network Library=DBMSSOCN;Initial Catalog=company_info;User ID=CSPOS;Password=password1;Connection Timeout=60;")
    
  • 确认CSPOS账户有远程访问权限:在服务器本地的SSMS里,找到这个登录账户,右键「属性」,确认「允许远程连接到此服务器」是勾选的(默认是允许的,但最好确认),同时确保该账户对company_info数据库有访问权限。

5. 检查SQL Server Browser服务

虽然你已经指定了端口1433,但SQLEXPRESS是命名实例,有时候需要SQL Server Browser来辅助解析。打开SQL Server配置管理器的「SQL Server服务」,确保「SQL Server Browser」是启动状态,设置为自动启动更稳妥。

6. 先测试本地连接

在服务器本地,用SSMS连接localhost\SQLEXPRESS,确认CSPOS账户能正常登录并访问company_info数据库。如果本地连接都失败,先解决本地的问题(比如服务没启动、账户密码错误),再排查远程。

按照这些步骤一步步来,应该能找到问题所在。

内容的提问来源于stack exchange,提问作者Seru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 08:37:42