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

Windows Server 2008 R2连接Windows Server 2022上SQL Server 2019的ODBC失败求助

解决Windows Server 2008 R2 ODBC连接SQL Server 2019失败的问题

以下是针对你遇到的TCP连接被远程强制关闭问题的排查和解决步骤:

1. 修复TLS版本兼容性问题

Windows Server 2008 R2默认仅启用TLS 1.0/1.1,而SQL Server 2019在Windows Server 2022环境下通常会禁用这些老旧TLS版本,强制要求TLS 1.2及以上:

  • 打开注册表编辑器(运行regedit)
  • 定位到路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2
  • 分别创建Client和Server子项,在每个子项中添加两个DWORD值:
    • Enabled:设置为1
    • DisabledByDefault:设置为0
  • 重启Windows Server 2008 R2后重新测试连接

2. 检查SQL Server网络配置

  • 启用TCP/IP协议:
    打开SQL Server配置管理器,展开「SQL Server网络配置」→ 选择目标实例的「协议」,确保TCP/IP状态为「已启用」。双击TCP/IP,切换到「IP地址」标签,确认目标IP的「TCP端口」为1433(或自定义端口),且「Active」「Enabled」均为「是」。
  • 防火墙规则验证:
    在Windows Server 2022上,检查防火墙是否允许SQL Server端口(1433或自定义端口)的入站连接。可临时关闭防火墙测试,排除拦截可能。

3. 确保驱动兼容性

  • 卸载旧版SQL Server Native Client 11.0,安装ODBC Driver 17 for SQL Server(Windows Server 2008 R2需先安装.NET Framework 4.5及以上版本以支持该驱动)。
  • 重新配置ODBC数据源,选择新安装的驱动进行连接测试。

4. 验证SQL Server登录权限

  • 确认ODBC配置中使用的账号(Windows账号或SQL账号)在SQL Server 2019实例上已创建登录名,且具备目标数据库的连接权限。
  • 若使用SQL账号,需确保SQL Server实例已启用「混合模式身份验证」。

5. 排查网络连通性

  • 在Windows Server 2008 R2上执行ping <SQL服务器IP>,确认网络可达。
  • 执行telnet <SQL服务器IP> 1433(替换为实际端口),测试端口是否开放。若telnet失败,说明网络链路存在端口阻断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 20:15:41