当某人尝试连接到SQL Server实例时,出现错误:
不可能生成SSPI上下文。
昨天我们停电了(不知道该用英语怎么说),我不得不关闭服务器。
寻找答案,我发现了这一点:
SQL Server 2008连接问题:无法生成SSPI上下文
但这对我没有帮助,因为直到昨天他们都工作正常。我什么都不想改变。但是如果有必要,我会改变它。
Obs:我现在无法重新启动服务器。
编辑:自从我回答以来,我们没有任何错误。
当某人尝试连接到SQL Server实例时,出现错误:
不可能生成SSPI上下文。
昨天我们停电了(不知道该用英语怎么说),我不得不关闭服务器。
寻找答案,我发现了这一点:
SQL Server 2008连接问题:无法生成SSPI上下文
但这对我没有帮助,因为直到昨天他们都工作正常。我什么都不想改变。但是如果有必要,我会改变它。
Obs:我现在无法重新启动服务器。
编辑:自从我回答以来,我们没有任何错误。
Answers:
“无法生成SSPI上下文”是一个通用错误。它可能是由许多问题引起的,例如过时的密码,时钟漂移,Active Directory访问权限,无法注册SPN等。
没有解决此问题的方法。唯一的“解决方案”是根据KB811889和/或Kerberos错误疑难解答,调查原因。在不了解原因的情况下,从随机Internet资源中应用一种解决方案,可能解决或可能无法解决问题,可能导致失败,也可能导致无法挽回的损害。
无法生成SSPI上下文可能恰恰意味着这一点。客户端连接到SQL Server时,它将使用一种生成方法,其中包括服务类型(MsSQLsvr)服务器FQDN和端口。它使用DNS生成服务器名称,因此如果由于CNAME或主机文件等原因而错误地解析了该名称,则生成将失败。Ping所需的服务器,然后查看得到的答复。如果不是SQL Server的FQDN,则将错误生成SPN,从而导致此错误。
在某些情况下,由于SPN设置,您将收到此错误。例如,如果您要对新服务器进行灾难恢复测试,则在连接到SQL Server时可能会收到SSPI错误。更奇怪的是,您可能可以使用SQL Server Management Studio进行连接,但无法通过ODBC或OLEDB进行连接。可能有一个临时解决方法,可能会使您可以进入数据库。
解决方法:在尝试连接到SQL Server的每台客户端计算机上,在每个工作站的主机文件中创建一个条目。尚不确定用于解决该问题的确切机制,但可能是使用它会覆盖对SPN的需求。
尽管不能保证在所有情况下都可以解决此问题,但很可能会使您重新启动并运行。这不应被视为永久性修复。您应该在理想情况下解决SPN或其他问题。但是,如果您在运行不受支持的操作系统的旧Windows计算机上遇到问题,或者只是在进行灾难恢复测试的概念验证,这应该可以使您保持点亮状态或恢复生产并运行。