在Windows Server 2008上以pipe理员身份运行SQL Server 2005作业

我有一份工作,C:\ foo.bat。

当我从Windows资源pipe理器中运行作业失败。 当我右键单击文件,然后单击“以pipe理员身份运行…”作业通过。

现在,当我在SQL Server代理中设置作业时,它失败了。 我无法弄清楚如何以pipe理员身份运行这项工作。

为了提供更严格的安全性,您可以使用凭证和代理(这是SQL 2005中的一项新function),而不是将SQL Server代理服务设置为使用本地pipe理员帐户(本质上可让本地pipe理员访问每项作业)。

在你的SQL实例上:

  1. 在“安全性”下,右键单击“凭证”,然后单击“新build凭证”
  2. 填写凭证信息(凭证名称=任何,身份是本地pipe理员权限的帐户,密码=帐户密码,确认密码=再次input),单击确定。
  3. 在SQL Server代理下,展开“代理”
  4. 右键单击操作系统(CmdExec),然后单击新build代理服务器
  5. 给代理一个名字,select你在步骤2中创build的凭证,点击确定
  6. 点击New Proxy窗口中的Principles,select你希望能够访问这个代理的SQLlogin和angular色
  7. 创build一个工作
  8. 向作业添加一个步骤,并将其设置为键入操作系统(CmdExec)
  9. 在运行方式下拉列表中,select您在步骤4和5中创build的代理。

这应该为你做。 比使整个SQL Agent服务以本地pipe理员身份运行更安全。

好吧,一个非常不好的方法。

步骤1:禁用UAC

完成。

必须有一个更好的方法,但必须禁用整个机器的UAC。

请参阅此链接为SQL Server代理服务select帐户您可以将SQL Server代理服务设置为使用pipe理员帐户,因此运行该bat文件没有问题。