我有一些运行CmdExec语句的SQL Server代理作业。
他们是简单的作业,调用简单的batch file。
它们以Run As: Proxy account运行,该Proxy account有权作为CmdExec proxy运行,同时定义了相关的链接Credential 。
但是,当我尝试运行该工作时,出现以下错误:
Executed as user: PROXY_ACCOUNT. The process could not be created for step 2 of job (reason: Access is denied). The step failed.
当我授予代理帐户尝试访问的驱动器上的SQL Server代理帐户权限时,一切正常。
尽pipe代理帐户已经具有相关驱动器的权限。
根据代理帐户的定义,我正在运行的作业步骤的安全上下文应由代理帐户定义。
目前为止我所能find的有关代理帐户的文档和文章都表明,在运行定义了代理帐户的作业步骤时,SQL Server代理应该模拟该凭证,并使用代理帐户安全上下文运行该凭证。
那么为什么代理帐户也需要相关驱动器的权限?
我误解了有关SQL Server代理程序帐户的工作原理吗?