答案 0 :(得分:3)
此处存在spn问题:"目标主体名称不正确。"当SQL服务最初在本地系统帐户下运行,然后更改为域帐户时,通常会发生这种情况。在本地系统帐户下运行时,sql-server会为其自动控制的每个服务注册一个spn,最多为active-directory,并在服务关闭时尝试取消注册。本地系统帐户能够通过网络作为计算机帐户进行通信,因此可以向Active Directory指示何时对其自身进行更改以及SPN SQL服务是否要注册。当您将SQL Server帐户更改为AD域用户帐户时,本地系统帐户立即失去它控制此帐户的能力;因此,在注册新SPN之前,必须手动删除本地系统先前为该SQL服务注册的现有SPN。
Hadi提到的Microsoft Kerberos Configuration Manager for SQL Server工具在运行时会非常有用地生成一个脚本来修复命令行中的SQL服务SPN。从工具的说明中:
从命令行生成SPN列表:
SQL Server脚本将调用删除旧的SPN,然后注册新的SPN以解决问题。在此之前,当kerberos客户端获取旧的无效SPN的故障单时,您将继续收到身份验证错误 - 因为它从未被删除,并且任何支持Kerberos的服务将始终拒绝错误SPN的故障单。进行SPN更改后,请务必重新启动SQL Server服务,如果您正在测试用户,请让该用户注销并重新登录。
答案 1 :(得分:2)
“Kerberos Configuration Manager是一种诊断工具,可帮助解决与SQL Server相关的Kerberos连接问题。这些问题可能会触发错误,例如 ”无法生成SSPI上下文“。 “
获取更多信息