我应该如何配置我的 Active Directory 服务器以便当其中一个服务器发生故障时,用户不会被踢出 SQL?

我应该如何配置我的 Active Directory 服务器以便当其中一个服务器发生故障时,用户不会被踢出 SQL?

今天,我们在办公时间关闭了一台 Active Directory 服务器,以检查 UPS 的负载情况。由于该服务器所做的只是在单独的建筑物中提供 Active Directory,以防主建筑物着火或发生其他情况,因此我们认为这不会对我们的用户造成任何影响。

服务器关闭几秒钟后,我们接到了十几个遇到此问题的用户打来的电话:- [Microsoft SQL Server 登录] SQLState: '28000' [Microsoft][ODBC SQL Server 驱动程序][SQL Server] 登录失败。登录来自不受信任的域,无法用于身份验证。

一旦我们意识到发生了什么,我们就会快速重新启动已关闭的 Active Directory 服务器。问题解决了。

但为什么会发生这种情况?如果有一天某台服务器出现故障并离线数小时或数天,该怎么办?域中的其他 Active Directory 服务器难道不应该在不影响用户的情况下处理身份验证请求吗?

我们有 3 台 Windows Server 2003 标准服务器,它们运行 Active Directory 作为具有全局目录的域控制器,所有服务器都以千兆速度物理位于同一网络上。

我相信该域最初是 Windows Server 2000,甚至可能是 NT 4.0。问题是否是由于从这些旧服务器操作系统继承的旧组策略,还是 Active Directory 中的某些默认设置需要更改?

答案1

听起来你可能没有正确配置 DNS。你必须确保客户端可以向其他 DC 发出 DNS 请求。换句话说,你的客户端 DHCP 设置应该为你的所有 DC 提供 DNS 记录(如果它们运行 DNS 服务)。无论哪种方式,你还需要确保你的所有 DC 也在 DNS 中注册。

客户端应该自动进行身份验证的故障转移,但如果您的应用程序由于某种原因缓存了凭据,它可能尝试仅返回原始 DC 进行身份验证。

相关内容