当 Sql Server 2012 使用虚拟帐户时,如何配置活动目录?

当 Sql Server 2012 使用虚拟帐户时,如何配置活动目录?

我从 Sql Server 2012 获取以下事件日志条目:

SQL Server 计划作业“复制代理检查” - 状态:失败 - 调用时间:2012-08-04 10:00:00 - 消息:作业失败。无法确定作业“复制代理检查”的所有者 (AD\Administrator) 是否具有服务器访问权限(原因:无法获取有关 Windows NT 组/用户“AD\Administrator”的信息,错误代码 0x6e。[SQLSTATE 42000](错误 15404))。

我认为发生这种情况的原因是 SQL Server 2012 正在使用无法检索所需 Active Directory 信息的虚拟帐户。从Sql Server 2012 文档

Windows Server 2008 R2 和 Windows 7 中的虚拟帐户是托管本地帐户,可提供以下功能来简化服务管理。虚拟帐户是自动管理的,并且虚拟帐户可以在域环境中访问网络。如果在 Windows Server 2008 R2 或 Windows 7 上安装 SQL Server 期间对服务帐户使用默认值,则将使用实例名称作为服务名称的虚拟帐户,格式为 NT SERVICE\(SERVICENAME)。作为虚拟帐户运行的服务使用计算机帐户的凭据访问网络资源,格式为 (domain_name)\(computer_name)$。

因此,问题是:如何在域控制器中为 (domain_name)\(computer_name)$ 用户创建权限,以及我需要授予哪些权限才能使 Sql Server 2012 能够检索所需的信息?或者,我是否需要切换到托管服务帐户才能使其正常工作?或者,我应该将作业的所有者更改为其他人吗?

答案1

默认情况下,服务帐户将能够看到域并根据需要进行查询。

这是一个时不时出现的问题。将作业所有者更改为 sa 并单击“确定”。然后将其改回 AD\Administrator 并单击“确定”。下次运行作业时,它应该可以正常运行。

答案2

我尝试了给出的其他两个答案,但都没有帮助我解决问题。最终,我能够解决这个问题的唯一方法是按照说明从虚拟帐户 (VA) 切换到托管服务帐户 (MSA)这里这里

此外,我无法让事务复制与 VA 或 MSA 协同工作——在这两种情况下,作业历史记录日志始终显示身份验证错误。最终,我恢复使用普通域用户来处理各种复制代理,并且成功了。

答案3

验证计算机网络服务帐户是否具有读取 AD 组的权限。我认为在 AD 环境中,最好使用 MSA 帐户而不是虚拟帐户。

相关内容