我正在尝试构建数据库脚本的.NET应用程序。在构建项目时,出现错误“无法创建SSPI上下文”。此错误显示在输出窗口中(VS2008屏幕内),并且构建过程失败。请帮助。 SQL Server被配置为在作为网络服务运行的Windows身份验证&上工作(这两件事对我的项目是必须的)。无法创建SSPI上下文
请帮忙。这个错误似乎并不一致。它通过重新启动机器,修改系统时间以匹配域时间和网络中的一些建议而得到修复。请帮助。
我正在尝试构建数据库脚本的.NET应用程序。在构建项目时,出现错误“无法创建SSPI上下文”。此错误显示在输出窗口中(VS2008屏幕内),并且构建过程失败。请帮助。 SQL Server被配置为在作为网络服务运行的Windows身份验证&上工作(这两件事对我的项目是必须的)。无法创建SSPI上下文
请帮忙。这个错误似乎并不一致。它通过重新启动机器,修改系统时间以匹配域时间和网络中的一些建议而得到修复。请帮助。
这听起来像您的电脑有一段时间没有联系身份验证的域控制器。 (我曾经在笔记本电脑上发生过几次这种情况。)
如果密码过期,也会发生这种情况。
“无法生成SSPI上下文”错误是非常通用的,可能会出于多种原因。只是任何潜在的Kerberos/NTLM错误的封面错误。 Gbn的KB文章链接是一个非常好的起点,通常解决问题。如果您仍有问题,我建议您按照Troubleshooting Kerberos Errors中的故障排除步骤操作。
我可以通过重新设置域(服务器,域服务器,但不涉及SQL Server除域管理)后面的客户端机器来解决这个问题。
谢谢大家的直接支持!
我通过使用SQL Server配置管理器解决了我的Cannot Generate SSPI Context
错误。由于我的计算机上有SQL Server本地客户端10.0,因此与服务器的连接尝试使用命名管道(或共享内存?)。其他机器可以运行我的应用程序没有问题。当我查看配置管理器时,命名管道和共享内存都已启用(正常)。但是,在别名下,计算机的名称在TCP强制下。由于我不知道改变这种效果会产生什么效果,因此我将程序中的连接字符串更改为使用< servername>。 < domainname>代替。固定。
我也发出了这样的问题,与服务器管理员通过按照http://www.sqlservercentral.com/Forums/Topic546566-146-1.aspx
通过indu_teja提出的解决方案提出了相同的解决方案indu_teja解决它说:
如果你得到这个“SSPI上下文错误”。我们面临的问题是:
- 我们将无法远程连接到SQL Server。
- 但是,我们将能够使用本地帐户连接到服务器。
原因:问题可能是因为Active Directory中的 SPN没有正确同步。
解决方案:
- 您需要重置SPN。使用synytax“SET SPN”。你可以在网上检查一次语法。
- 将您的sql server服务帐户从域帐户更改为本地帐户,回收sql,然后使用您的域帐户重新重置并回收sql server。
我只是有同样的问题,我所做的只是删除用户登录使用其他用户ID和添加回SQL Server中的凭据。
有一个非常奇怪的例子,所有具有包含SQL服务器的windows计算机名称的连接字符串的Web产品都正常工作,但具有附加内部域的FQDN的产品给出了SSPI错误。 即 COMPUTERNAME VS COMPUTERNAME.DOMAIN (平一直担任预期)
这只能为问题正在使用新的SQL Server时,被和hosts文件中指出两个计算机名和计算机名的FQDN的连接字符串。
这种情况下的解决方案是仅将所有连接字符串设置为计算机名称,删除域引用。
SQL:2008R2 SQL2012
IIS:2008R2
你应该做的第一件事是进入日志(Management\SQL Server Logs
),看看是否SQL服务器successfully registered the Service Principal Name (SPN)
。如果你看到某种错误(The SQL Server Network Interface library could not register the Service Principal Name (SPN) for the SQL Server service
),那么你知道从哪里开始。
我们在更改SQL Server运行时的帐户时看到了这种情况。将其重置为本地系统帐户解决了问题。微软在手动配置SPN时也有一个guide。
我有同样的问题,改变其运行MSSQLSERVER-服务
为了解决与SQL Server我用这个工具
http://www.microsoft.com/en-us/download/details.aspx?id=39046不正确的SPN之后用户 - 微软的Kerberos配置管理器为SQL Server
在我的情况下,它工作得很好。
如果您在IIS上托管,请确保AppPool帐户的密码没有更改。
如果是,那么请按照下列步骤操作:
谢谢哥们..你节省了我的时间.. –
这是我的情况。我有一台托管SQL Server的远程机器。从我的本地机器上,我试图通过一些C#代码访问SQL实例,并且出现此错误。我的机器/域上的用户帐户的密码有已过期。
windows
+ L
关键,所以我并没有完全签署),这样我可以得到回到登录页面一切然后正常工作。
在我来说,这是一个缺少SPN,不得不运行这两个命令:
SETSPN -a为MSSQLSvc:SERVERNAME SERVERNAME SETSPN -a为MSSQLSvc:服务器名称:1433 SERVERNAME
在换句话说,在我的情况下,我已经有正确的FQDN,但不只是NETBIOS名称,添加这些后,它工作正常。那么最初它没有,但等待2分钟后,它没有。
此错误通常出现在Windows用户帐户已过期并且他已使用旧密码登录时发生。 只要求用户重新启动他的机器并检查密码是否过期或他已更改密码。 希望这有助于!!!!!
我有这个错误 - 它发生,因为我的密码过期,我不得不改变它。我没有注意到它,因为在某些程序中,我仍然可以登录并且一切正常(包括窗口),但是我无法登录到任何sql服务器。
我在我的网络适配器的IPv4属性下更改了默认DNS服务器地址后出现此错误。当我将DNS服务器更改回默认状态时,它就消失了。 –
请在阅读本页之前阅读以上评论。 – vmassuchetto