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

Excel数据透视表连接SQL Server时集成身份验证登录失败求助

SQL Server Windows身份验证连接失败(SSPI握手错误0x80090346)修复方案

场景与问题

  • 客户端PC与两台SQL Server及对应数据库同属一个域,服务器均支持Windows身份验证
  • 可成功连接第一台服务器创建数据透视表,但连接第二台时Excel报错:登录失败。该登录来自不受信任的域,无法用于integrated authentication。
  • 管理员确认两台服务器配置一致,推测问题出在Windows系统层面
  • 连接操作步骤:
    • 步骤1:在Excel中选择「数据」选项卡,点击「获取数据」→「从数据库」→「从SQL Server数据库」
    • 步骤2:输入第二台SQL Server的服务器名称,选择「使用Windows身份验证」,点击「连接」

错误日志分析

第二台服务器的Windows事件日志显示:

SSPI握手失败,错误代码0x80090346,状态45,正在通过integrated security建立连接;连接已关闭。原因:此客户端的Channel Bindings与已建立的Transport Layer Security (TLS)通道不匹配。服务可能受到攻击,或者数据提供程序可能需要升级以支持Extended Protection。正在关闭连接。客户端提供的SSPI通道绑定不正确。

可正常连接的服务器无此错误事件。

修复步骤

1. 调整SQL Server扩展保护配置

  • 打开SQL Server配置管理器,找到目标实例的「SQL Server网络配置」→「<实例名>的协议」
  • 右键点击「TCP/IP」→「属性」→「高级」选项卡,找到「Extended Protection」设置
  • 将其从Required改为Allowed或Off,修改后重启SQL Server服务
  • 说明:扩展保护强制要求客户端提供匹配的通道绑定信息,若客户端组件不支持该特性,就会触发握手失败。

2. 升级客户端SQL Server驱动

  • 打开「控制面板」→「管理工具」→「ODBC数据源」,查看当前使用的SQL Server驱动版本
  • 下载并安装最新版的Microsoft ODBC Driver for SQL Server,替换旧驱动
  • 说明:旧版本驱动可能不支持Extended Protection的通道绑定验证,导致身份验证失败。

3. 统一客户端与服务器的TLS版本

  • 确保客户端PC和第二台SQL Server启用的TLS版本一致(建议同时启用TLS 1.2及以上版本)
  • 通过注册表配置TLS版本:
    • 打开注册表编辑器,定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
    • 找到对应TLS版本的「Client」和「Server」项,将Enabled值设为1,DisabledByDefault设为0
  • 说明:TLS版本不匹配会导致通道绑定信息生成错误,触发SSPI握手失败。

4. 重置客户端Kerberos票据

  • 以管理员权限打开命令提示符,执行命令:
    klist purge
    
  • 重启客户端PC后重新尝试连接
  • 说明:过期或异常的Kerberos票据可能导致身份验证时通道绑定信息错误。

5. 检查SQL Server的SPN配置

  • 联系管理员检查第二台SQL Server的服务主体名称(SPN)注册情况
  • 使用命令setspn -L <SQL服务账户>查看已注册的SPN,确保包含MSSQLSvc/<服务器名>:<端口>和MSSQLSvc/<服务器FQDN>:<端口>格式的条目
  • 说明:SPN配置错误会导致Kerberos身份验证失败,进而触发“不受信任的域”错误提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 13:07:39