使用本地用户帐户启动的 SQL 代理无法使用域用户帐户运行作业

使用本地用户帐户启动的 SQL 代理无法使用域用户帐户运行作业

我在本地用户帐户下运行 SQL Agent。如果我在 cmdExec 步骤中使用本地帐户凭据,作业运行良好。如果我尝试使用域用户帐户(之前在代理帐户中创建),作业将启动并“挂起”(仍在运行但什么也没做),并且我在事件查看器的系统部分中收到事件 ID 10016。

这是正常现象吗?我是否必须使用域用户帐户启动 SQL Agent 服务?本地用户帐户是否将继续工作?

答案1

是的。遗憾的是,您的本地帐户没有查找域用户的凭据,因此无法判断您的域帐户是否获得授权。您必须使用域用户帐户。

答案2

Is it a normal behavior

有可能,取决于你的任务是什么。

Do I have to restart the SQL Agent service after changing to a domain user account?

是的。更改任何服务的用户帐户后,您必须重新启动。除非您重新启动,否则它不会在新帐户的上下文中运行。

Does the local user account continue to work

如果我理解正确的话,您问的是将服务切换为域用户后是否继续使用本地用户帐户。如果是,则不会。

如果您拥有正确的 SQL Agent 凭据和代理设置,并且已将作业步骤配置为使用该代理,则无需将 SQL Agent 服务切换到域用户。不过,代理使用的凭据中的帐户确实需要在操作系统级别拥有适当的权限,才能执行该作业步骤尝试执行的任何操作。我认为这就是您遇到的问题所在。

您需要发布更多信息,以便我们帮助您了解挂起的原因。包括步骤正在执行的操作(运行脚本/批处理文件、复制文件等)以及您不仅在事件查看器中而且在 SQL 日志中遇到的具体错误。

相关内容