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

使用MS OLE DB Driver19从SQL Server2019链接2008R2遇证书问题求助

解决方案

以下是针对你的SQL Server链接服务器连接问题的具体解决步骤:

1. 检查并配置登录映射

链接服务器创建成功但连接失败,首先要确认登录映射是否正确。执行以下语句配置远程登录映射(替换为实际的远程账号和密码):

EXEC master.dbo.sp_addlinkedsrvlogin 
    @rmtsrvname=N'PB01_ENC2',
    @useself=N'False',
    @locallogin=NULL,
    @rmtuser=N'远程SQL账号',
    @rmtpassword='远程账号密码'

2. 调整链接服务器的连接字符串参数

OLE DB Driver 19对参数格式和优先级有特定要求,尝试调整@provstr的参数顺序和取值,重建链接服务器:

EXEC master.dbo.sp_addlinkedserver 
    @server = N'PB01_ENC2', 
    @srvproduct=N'SQL Server', 
    @provider=N'MSOLEDBSQL19', 
    @datasrc=N'PB01', 
    @provstr=N'Encrypt=No;TrustServerCertificate=Yes'

同时确认已安装最新版本的Microsoft OLE DB Driver 19 for SQL Server,旧版本可能存在兼容性bug。

3. 修改驱动默认加密的注册表配置

OLE DB Driver 19默认可能强制启用加密,需通过注册表覆盖默认行为:

  • 打开注册表编辑器,定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\MSOLEDBSQL19
  • 新建两个DWORD值:
    • Encrypt:设置为0(禁用加密)
    • TrustServerCertificate:设置为1(信任服务器证书)
  • 重启SQL Server服务使配置生效。

4. 替换目标服务器的过期证书

即使目标服务器“强制加密”设为NO,过期证书仍可能干扰连接。临时替换为自签名证书:

  • 在SQL Server 2008 R2服务器上打开SQL Server配置管理器
  • 导航到SQL Server网络配置 -> 你的实例协议 -> 属性 -> 证书
  • 删除过期证书,点击「新建」生成自签名证书
  • 重启SQL Server服务后重新尝试连接。

5. 切换为ODBC驱动替代OLE DB驱动

若OLE DB Driver 19兼容性问题无法解决,改用ODBC Driver 17:

  1. 在SQL Server 2019服务器上创建ODBC数据源,配置时勾选「Trust server certificate」并设置「Encrypt connection」为否
  2. 执行以下语句创建链接服务器:
EXEC master.dbo.sp_addlinkedserver 
    @server = N'PB01_ENC2', 
    @srvproduct=N'SQL Server', 
    @provider=N'MSDASQL', 
    @datasrc=N'你创建的ODBC数据源名称'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 14:22:29