【问题标题】:SSPI Errors for SQL Server Authentication?SQL Server 身份验证的 SSPI 错误?
【发布时间】:2009-02-10 22:02:03
【问题描述】:

我们有几个使用 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 连接到数据库服务器。

这似乎不是防火墙问题。

【问题讨论】:

    标签: sql-server sspi


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      如果这里和那里之间有太多延迟(例如防火墙),那么底层的 Kerberos 就会失去作用(技术术语 :-)。

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

      【讨论】:

      • 除了我们使用 Sql Server 身份验证(用户名和密码直接传递)而不是 windows 身份验证。那么,如果我理解正确的话,根本不涉及 Kerberos?
      • 由于 SSPI 错误,您的网络服务器认为它正在使用 windows wuth...
      猜你喜欢
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      • 2015-01-26
      • 2011-10-23
      相关资源
      最近更新 更多