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

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

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

当我从 Windows 资源管理器运行该作业时,它失败了。当我右键单击该文件并单击“以管理员身份运行...”时,该作业通过了。

现在,当我在 SQL Server Agent 中设置作业时,它失败了。我不知道如何以管理员身份运行该作业。

答案1

您无需将 SQL Server 代理服务设置为使用本地管理员帐户(这实际上会授予本地管理员访问每个作业的权限),而是可以使用凭据和代理(SQL 2005 中的一项新功能),以提供更严格的安全性。

在您的 SQL 实例上:

  1. 在“安全”下,右键单击“凭据”,然后单击“新建凭据”
  2. 填写凭据信息(凭据名称 = 任意,身份是对您的机器具有本地管理员权限的帐户,密码 = 该帐户的密码,确认密码 = 再次输入),单击确定。
  3. 在 SQL Server 代理下,展开代理
  4. 右键单击操作系统(CmdExec),然后单击新建代理
  5. 给代理命名,选择你在步骤2中创建的凭证,点击确定
  6. 单击“新建代理”窗口中的“原则”,然后选择您希望能够访问此代理的 SQL 登录名和角色
  7. 创建作业
  8. 向作业添加一个步骤并将其设置为操作系统 (CmdExec) 类型
  9. 在“以...身份运行”下拉菜单中,选择您在步骤 4 和 5 中创建的代理。

这应该可以帮你搞定。比让整个 SQL Agent 服务以本地管理员身份运行安全得多。

答案2

好的不是很好的方法。

步骤 1:禁用 UAC

完毕。

但是,肯定有比禁用整个机器的 UAC 更好的方法。

答案3

请参阅此链接为 SQL Server 代理服务选择帐户 您可以将SQL Server代理服务设置为使用管理员帐户,这样运行该bat文件就不会有问题了。

相关内容