由于某些权限问题,当尝试执行SSIS包时,SQL代理作业失败。

5
我在SQL Server 2012上部署了ssis包,并安排了一个每周运行一次的SQL作业来运行此ssis包。当我第一次启动作业时,出现了以下错误。
“作业失败。该作业由用户MyDomain \ MyUserName调用。要运行的最后一步是步骤1(调度ssis包)。
以用户身份执行:NT Service \ SQLSERVERAGENT。Microsoft(R)SQL Server执行包实用程序Version 11.0.5058.0 for 64-bit Copyright (C) Microsoft Corporation。保留所有权利。开始:下午2:17:12 IS服务器上的包执行失败。执行ID:6,执行状态:4。要查看执行的详细信息,请右键单击Integration Services目录,然后打开[All Executions]报告。开始:下午2:17:12 完成:下午2:17:17 经过:4.493秒。 包执行失败。 步骤失败。”
我确信存在权限问题,但我无法解决这个问题。
此包正在删除桌面上某个文件夹中的内容。 SQL Server实例正在我的计算机上运行。我在一台独立的机器上。
4个回答

20

在搜索了很多文章之后,我找到了一篇帮助我确定实际错误的文章:

  1. 登录SQL服务器实例
  2. 导航至“Integration Service Catalogs”
  3. 右键单击您的SSISDB目录,选择“所有报告”->“标准报告”->“全部执行”
  4. 对于您的文件夹,单击“失败任务的所有消息”
  5. 在这里,您将看到您的错误

在我的情况下,错误是“拒绝访问路径'C:\ Users \ MyUser \ Desktop \ Test Folder'”。请注意,在此报告中有一个Caller部分,该部分正在尝试访问此文件夹,在我的情况下它是NT SERVICE \ SQLSERVERAGENT

进入此文件夹,右键单击->属性->安全性 在组/用户名下单击编辑->在新弹出的窗口中添加新用户 现在,如果您正在查找NT SERVICE \ SQLSERVERAGENT用户,则不会找到,因为它位于服务帐户下,这意味着您将看到一个名为SERVICE的用户。这是您需要添加到此文件夹的用户。

我添加了这个用户后,我的工作开始运行 :)


0
在我的情况下 确定问题: 登录sql server实例 导航到Integration Service Catalogs(集成服务目录) 右键单击你的SSISDB目录并选择所有报告->标准报告->所有执行 -检查失败/红色错误日志报告部分(概述,所有消息,执行性能) -我去了概述->点击执行路径->在错误消息下点击查看上下文 这将展示您逐步执行。我有一个数据类型不匹配的问题,当我重新运行ssms中的sql脚本时,它出现了问题。一旦我修复了数据类型或删除了额外的数据。 所有都恢复正常

这是一个权限问题吗? - ARLibertarian

0
解决方案: 我在 SQL 代理作业中遇到了同样的错误,所以我只是检查了 SSIS 包是否正在运行,然后发现该包失败了,因为我们从 proc 中以字符串形式输入,而在包中我创建了一个变量数据类型对象来存储 proc 输入,当我更改了我的 SSIS 包时,我的 SQL 作业现在运行良好。 我希望这能帮助到你。

0

在执行 SQL Agent 中的 SSIS 作业时,我遇到了相同的错误:“拒绝访问路径'C:\ Users \ abhis \ Documents \ Visual Studio 2017 \ Projects \ SSIS \ AWS-S3-FileLoad \ OracleEmployeeDetails'。”。

解决方案 -

转到您无法访问的文件夹,

  1. 进入文件夹 -> 属性 -> 安全 -> 要更改权限,请单击编辑 - > 将用户“SERVICE”添加到文件夹中。

\一旦添加了“SERVICE”用户,作业就会成功执行并完成。\


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接