2009-02-10 179 views
0

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

对应大致相同的时间,我们在SQLServer 2000的服务器上获取

1115 Cannot generate SSPI Context SQLSTATE HY000 

错误。

这里是奇怪的部分 - 重新启动网络服务器修复了这个问题。重启数据库服务器不起作用。

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

任何想法?

编辑:

一些额外的细节:

的Web服务器是在DMZ。 Web服务器上的主机文件具有数据库服务器的条目(并且IP地址是正确的),因此Web服务器(理论上至少)不应该连接到DNS以连接到数据库服务器。

它似乎不是防火墙问题。

回答

0

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

0

我们在我们的主要服务器和其他国家的一些客户之间有这个。

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

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

+0

除了我们正在使用Sql Server身份验证(其中用户名和密码直接传递)而不是Windows身份验证。所以,如果我理解正确,Kerberos根本不参与? – Nathan 2009-03-09 14:43:48