【问题标题】:Running bat file from SQL server job从 SQL Server 作业运行 bat 文件
【发布时间】:2017-11-01 16:30:26
【问题描述】:

我有一个 bat 文件。如果我运行它,它会做它应该做的一切。

现在我想从 SQL Server 作业中运行该 bat 文件。

RunProg.bat 包含以下内容:

"C:\Program Files\R\R-3.3.2\bin\RScript.exe" "C:\Program Files\R\R-3.3.2\bin\QA_Check.R"

我运行作业时的错误是:

我认为问题在于访问。我该如何解决?

我机器上的用户:

【问题讨论】:

  • 批处理作业驻留在您的桌面上?还是在 SQL Server 上?您应该将它放在 SQL Server 本身的一个文件夹中,该文件夹可由 SQL Server 代理服务帐户访问,该帐户可能无权访问您的用户文件夹。
  • 另外,批处理作业中的脚本也应该放在 SQL Server 上。
  • Access is Denied... 也就是,运行您的 SQL Server 的用户没有执行您的批处理文件的权限。
  • @WEI_DBA ,SQL 服务器正在本地机器上运行。我如何知道 SQL Server 代理服务帐户有权访问哪些文件?
  • @MatthewWhited,我应该给用户什么权限?

标签: sql-server batch-file sql-server-agent


【解决方案1】:

有一个类似的问题,对我有用的是将 .bat 文件的位置更改为 SQL 代理将运行它的文件夹位置。因此,我将其移至代理可以访问的“D:\BatFolder\my.bat”,而不是“C:\Users\MyUser\BatFolder\my.bat”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多