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

请求协助解决SQL Server连接的SSPI上下文生成失败问题

SQL Server连接错误:无法生成SSPI上下文(目标主体名称不正确)

错误信息

SqlException (0x80131904): 目标主体名称不正确。无法生成SSPI上下文。

已尝试官方文档中的解决方案,但未解决问题。

连接字符串配置

<?xml version="1.0" encoding="utf-8"?>
<connectionStrings>
  <add name="redis" connectionString="host=127.0.0.1;db=0;port=6379" />
  <add name="defPackagesWorkingCopyPath" connectionString="%TEMP%\%APPLICATION%\%APPPOOLIDENTITY%\%WORKSPACE%\TerrasoftPackages" />
  <add name="tempDirectoryPath" connectionString="%TEMP%\%APPLICATION%\%APPPOOLIDENTITY%\%WORKSPACE%\" />
  <add name="sourceControlAuthPath" connectionString="%TEMP%\%APPLICATION%\%APPPOOLIDENTITY%\%WORKSPACE%\Svn" />
  <add name="elasticsearchCredentials" connectionString="User=gs-es; Password=DEQpJMfKqUVTWg9wYVgi;" />
  <add name="influx" connectionString="url=http://10.0.7.161:30359; user=; password=; batchIntervalMs=5000" />
  <add name="messageBroker" connectionString="amqp://guest:guest@localhost/BPMonlineSolution" />
  <add name="db" connectionString="Data Source=127.0.0.1;Initial Catalog=BS_BCJ_L_MENU_4118923_0930;Integrated Security=SSPI;MultipleActiveResultSets=True;Pooling=true;Max Pool Size=100" />
</connectionStrings>

额外排查解决方案

  • 检查SPN注册状态
    打开命令提示符,执行setspn -L <SQL Server服务运行账户>,查看是否存在对应127.0.0.1或本地主机名的SPN(格式为MSSQLSvc/<IP或主机名>:<端口>)。若缺失,执行setspn -A MSSQLSvc/127.0.0.1:1433 <服务账户>添加(默认端口为1433,根据实际情况调整)。

  • 调整连接字符串的数据源
    将Data Source=127.0.0.1替换为本地主机名或localhost,SSPI对主机名的SPN匹配兼容性优于IP地址。

  • 验证应用池身份权限
    若应用部署在IIS,确认应用程序池的运行账户具备获取Kerberos票据的权限,且该账户已在SQL Server中配置对应的登录权限。

  • 清除Kerberos缓存
    执行命令klist purge清除本地Kerberos缓存,随后重启应用程序池及SQL Server服务,再尝试连接。

  • 确认SQL Server身份验证模式
    在SQL Server配置管理器中,检查服务器属性的安全性设置,确保已启用Windows身份验证模式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 05:03:10