SQL Server身份验证的SSPI错误?

时间:2009-02-10 22:02:04

标签: sql-server sspi

我们有几个使用SQL Server身份验证的旧ASP和PHP Web应用程序。所有应用程序都会定期无法连接到我们的SQL Server 2000数据库服务器,从而导致访问被拒绝。

对应大致相同的时间,我们正在

1115 Cannot generate SSPI Context SQLSTATE HY000

SQLServer 2000服务器上的错误。

这是奇怪的部分 - 重新启动 web 服务器可以解决问题。重新启动数据库服务器无效。

这对我没有意义 - 我不认为SSPI与SQL Server身份验证有任何关系。

有什么想法吗?

修改

其他一些细节:

Web服务器位于DMZ中。 Web服务器上的hosts文件有一个数据库服务器的条目(并且IP地址是正确的),因此Web服务器(理论上至少)甚至不应该转到DNS连接到数据库服务器。

它似乎不是防火墙问题。

2 个答案:

答案 0 :(得分:0)

我认为你是对的,根据我的经验,该错误与SQL身份验证无关。 Web服务器是否在任何类型的防火墙后面?是否对任一服务器上的“hosts”文件进行了任何更改?当您遇到这些问题时,是否尝试从Web服务器ping SQL Server以确保Web服务器能够解析SQL Server的名称?我会检查企业管理器中的活动监视器,以确保Web应用程序肯定是使用SQL身份验证进行连接。一种可能性是某种网络或域控制器问题 - 这可以解释从Web服务器断开的连接和SQL Server上的SSPI上下文错误,但不确定为什么重新启动Web服务器会解决它..

答案 1 :(得分:0)

我们的主服务器和其他国家/地区的某些客户端之间存在这种情况。

如果在这里和那里之间存在太多延迟(例如防火墙),则底层Kerberos会丢失情节(技术术语:-)。

我们通过指定端口来修复它。另外,我建议使用服务器的FQDN。 所以我们现在使用:“SQLServer.domain.tld \ InstanceName,1234”