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

Access 2013连接Azure SQL Server的ODBC数据源数分钟后失效求助

Access 2013连接Azure SQL Server数分钟后连接异常的排查与解决

问题背景

使用Access 2013(含业务表单)连接Azure SQL Server 12.0中的34个链接表,先后采用「SQL Server Native Client 11.0」和「ODBC Driver 18 for SQL Server」创建ODBC数据源,导入时均已保存SQL Server Authentication密码。数据库启动初期表单可正常返回数据,但数分钟后会触发以下错误之一,且报错后数据库完全无法使用:

TCP Provider: An existing connection was forcibly closed by the remote host.
ODBC--connection to 'Data Source' failed.

排查与解决步骤

一、网络稳定性验证

  • 检查Azure SQL防火墙规则:登录Azure门户,进入目标SQL Server的「防火墙和虚拟网络」设置,确认客户端IP(动态IP需添加IP范围或启用「允许Azure服务和资源访问此服务器」)未被拦截,查看「拒绝的连接」日志定位是否有IP被临时屏蔽。
  • 持续监测网络连通性:
    • 执行ping <你的Azure SQL服务器名>.database.windows.net,观察5-10分钟内是否有丢包、延迟突增情况;
    • 执行tracert <你的Azure SQL服务器名>.database.windows.net,检查路由节点是否存在异常中断;
    • 执行telnet <你的Azure SQL服务器名>.database.windows.net 1433,测试1433端口是否持续保持连通。
  • 排查本地网络设备:临时关闭本地防火墙、杀毒软件的网络防护模块,测试是否为本地安全策略拦截长连接;检查路由器是否配置了闲置连接自动断开的超时规则,如有则延长超时时间。

二、ODBC连接参数优化

  • 调整超时设置:在ODBC数据源配置的「连接」选项卡,将「登录超时」「查询超时」调至60秒以上;编辑链接表的ODBC连接字符串,添加Connect Timeout=60;Connection Lifetime=0;(Connection Lifetime=0表示连接永不自动过期)。
  • 启用连接池:在ODBC数据源的「高级」选项卡,勾选「启用连接池」,设置池大小为40-50(匹配34个链接表的并发需求),减少连接频繁创建销毁带来的不稳定。
  • 强制加密连接:ODBC Driver 18默认要求加密,确认数据源配置中「加密」选项设为「强制」,避免加密协商过程中出现连接中断。

三、Access应用层优化

  • 释放闲置记录集:在表单的Close事件中添加代码,主动关闭未释放的记录集,避免占用连接资源:
Private Sub Form_Close()
    Dim rs As Recordset
    For Each rs In CurrentDb.Recordsets
        rs.Close
    Next rs
    Set rs = Nothing
End Sub
  • 优化数据加载逻辑:避免表单启动时一次性拉取全量数据,改用分页查询或按需加载;检查是否存在耗时超过30分钟的长查询,此类查询可能触发Azure SQL的连接中断机制。
  • 统一链接表连接:使用Access「外部数据」-「链接表」功能创建链接(而非导入),确保所有链接表使用同一ODBC数据源,避免生成多个独立连接导致资源耗尽。

四、Azure SQL Server端检查

  • 监控资源使用率:在Azure门户查看SQL Server的CPU、内存、磁盘IO指标,确认是否因资源耗尽主动断开连接;若存在瓶颈,考虑升级服务层级或优化数据库查询性能。
  • 查看SQL错误日志:在Azure门户的SQL Server「诊断设置」中开启日志收集,分析错误日志中针对该客户端连接的断开记录,明确是SQL Server主动断开还是网络层面问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 14:57:49