我们有以下设置:
- 一个域控制器 (直流、Server 2003 R2 标准 x64)
- 一个 SQL Server (SQL、Server 2008 R2 标准版 x64)
- 一些客户。
所有机器都位于同一个域中。所有正在使用的用户帐户都是域帐户。SQL运行 SQL Server 2005、2008、2008R2、2012 和 2014 各一个实例。
从今晚起(直流重新启动以安装自动 Windows 安全更新),通过 Windows 身份验证访问 SQL 2005、2008 和 2008R2 实例不再正常工作:
当访问其中一个实例时
- 来自一位客户
- 使用 Windows 身份验证
出现以下错误(这是2008R2消息,2005/2008消息类似):
登录失败。登录来自不受信任的域,无法与 Windows 身份验证一起使用。(Microsoft SQL Server,错误:18452)
显然,消息文本不适用,因为只有一个域。
现在令人惊讶的是:一旦用户登录SQL(启动 RDP 会话,甚至只是运行runas /user:MYDOMAIN\someuser cmd
并保持窗口打开),该用户可以从所有客户端访问所有 SQL Server 实例,而不会出现任何问题,直到使用该用户凭据运行的进程关闭。
这意味着我可以通过对所有用户执行上述 runas 命令来解决这个问题SQL一次(并保持窗户打开),但显然有些东西严重损坏。我怀疑今晚的安全更新直流与此有关(因为这是唯一改变的东西),但我宁愿避免卸载并重新启动它们(安装了 12 个更新,直流确实又老又慢)。
有人遇到过这个问题并知道如何永久修复它吗?还有其他想法吗(除了花接下来的几天时间成为 Kerberos 专家)?
答案1
检查你的 DC 今晚是否安装了更新 KB3002657。请参阅http://support2.microsoft.com/?kbid=3002657 我也遇到了同样的问题。卸载此更新解决了我的问题。
答案2
通过组策略进行的以下修复对我有用:
- 打开组策略管理员
- 导航至计算机配置>>Windows 设置>>本地策略>>安全选项
- 双击“网络安全:LAN 管理器身份验证级别”
- 将选项从“发送 NTLM 响应”更改为“发送 LM 和 NTLM 响应”
gpupdate /force
在受影响的计算机和服务器上运行。