SQL Server 和 SSPI 握手失败错误

SQL*_*DBA 6 authentication sql-server windows-server

最近我遇到了一个问题,来自一个域的用户无法登录 SQL Server 并收到此错误:

错误:17806,严重性:20,状态:2。SSPI
握手失败,错误代码为 0x8009030c,同时建立具有集成安全性的连接;连接已关闭。[客户:xxxxxx]

错误:18452,严重性:14,状态:1
。用户登录失败”。用户未与受信任的 SQL Server 连接相关联。[客户:xxxxxx]

我们有两个域,比如说 A 和 B。我的 SQL Server 在域 B 中运行。在正常情况下,两个域用户都能够连接。但是前几天,域A的所有用户都无法连接到域B中运行的SQL Server。但是域B的用户却能够成功连接。用户联系 SQL Server DBA 团队调查问题。

当我检查时,即使我无法使用 SSMS 并使用域 A 的凭据远程连接到 SQL Server。但是,当我尝试使用域 A 的凭据对服务器进行 RDP 时,它工作正常,并且在远程访问 SQL Server 后也开始工作美好的。所以在我看来,当我对服务器进行 RDP 时,某些东西得到了刷新并且我的登录远程开始正常工作。我确信实际问题与 AD 和 kerberos 身份验证有关,但无法证明。

我在网上研究了这个问题,并找到了两个解决方案来解决它。一是修复故障 DC,二是重新启动运行 SQL Server 的服务器。我采用了第二种方式,因为 Windows 管理员不接受这是 DC 问题。我从 SQL 端检查了所有内容,最近没有任何变化。还发现在运行 SQL Server 的服务器上记录以下事件后,此问题开始发生:

日志名称:系统
来源:NETLOGON
日期:xxxxxxxx
事件 ID:5719 任务
类别:无
级别:错误
关键字:经典
用户:不适用
计算机:xxxxxxxxxx
描述:这台计算机无法与域控制器建立安全会话domain xxxxxx 由于以下原因: 当前没有可用于为登录请求提供服务的登录服务器。这可能会导致身份验证问题。确保此计算机已连接到网络。如果问题仍然存在,请联系您的域管理员。

附加信息 如果此计算机是指定域的域控制器,它会设置与指定域中的主域控制器模拟器的安全会话。否则,此计算机将与指定域中的任何域控制器建立安全会话。

我的问题是:

  1. 如何证明这是域控制器问题?
  2. 服务器重启如何解决这个问题?

谢谢你的帮助。

IT *_*nja 2

为什么重新启动服务器有时可以解决此问题?

我认为操作系统在与 DC 通信时出现问题(无论您确定什么原因),当发生这种情况时,它就会以某种方式与 DC、AD 等不同步,快速修复方法是重新启动SQL Server发生这种情况时的操作系统,并且在重新启动时没有与 DC 的网络通信,并且此时一切都恢复同步,一切正常。要准确回答这个问题,你可能需要先找到原因。


证明域控制器是或不是问题

1. 故障排除和考虑

  • 我并不是建议您在尝试事先查找并解决特定问题之前进行大量更改,但我认为有很多因素需要考虑。这只是您必须一次一步地进行故障排除的问题,除非有明显的原因导致问题。

2. 访问视角

  • 在我的设置中,我是域管理员和 DBA,因此我可以访问所有内容和所有服务器(具有双向信任的两个域)以在各个级别进行故障排除,而您可能会受到更多限制在问题循环中的每个服务器上进行审查等。

3. 没有简单的监督

  • 我通常首先从不需要更改的简单项目开始,然后查看是否存在任何明显的问题(例如所有服务器上的事件查看器、所有服务器上的 DNS 测试、检查所有服务器配置等)。

4. 没有逻辑

  • 对于其所在的 Windows 版本,这可能是 SQL Server 操作系统级别的问题。这也可能是 SQL Server 的 NIC 问题,或者 SQL Server 或任何 DC 上的 TCP/IP 或 DNS 设置配置错误。

5. 收集与更新

  • 收集有关 SQL Server 的信息或确保通过 Windows 更新完全更新 SQL Server,并确保服务器固件是最新的(如果适用于 BIOS 版本)以及任何硬件设备固件更新。域管理员也可以在 DC 上执行相同的操作,但在进行一系列更改时要小心,并且一次执行一步。

6. 最佳实践

  • 我不确定您的 AD 和 DC 的拓扑结构如何配置,但应尽可能遵循最佳实践,并且 DC 应靠近两个域物理上的网络,而不是穿过较慢的网络管道或路由器,等等,这增加了另一个级别,其中可能存在需要审查的问题或配置。

    DC 应配置其 TCP/IP 设置,以便其 DNS 设置指向其他 DNS 服务器或遵循最佳实践,否则根据 Microsoft 的适用于您的环境的 DC 配置。

7. 请求访问或配置披露协助

  • 您需要进行基本的故障排除以找到要解决的问题、提出问题、查看所有可以更新、修补或更改的内容,并让您的域管理员帮助您排除故障或在您不确定时向您披露域配置如何查看所有内容是否都已配置为最佳状态,以实现最佳性能并符合最佳实践。

重要提示: 这并不是说这种情况突然发生不可能有一个非常简单的原因,而是如果任何地方都没有发生任何变化(即 DC 或 SQL Server 上的操作系统、网络配置、AD 或林功能级别、硬件升级、Windows 更新等)。 )那么你只需要一次一步地排除原因即可。