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

时间:2015-04-17 08:54:53

标签: sql-server deployment ssis active-directory sql-server-data-tools

我在sql server 2012上部署了ssis包。之后安排了一个sql作业,每周运行一次这个ssis包。 当我第一次开始工作时,它失败并出现以下错误。

  

工作失败了。作业由User MyDomain \ MyUserName调用。该   运行的最后一步是步骤1(调度ssis包)。

     

以用户身份执行:NT Service \ SQLSERVERAGENT。 Microsoft(R)SQL Server   执行包实用程序版本11.0.5058.0 for 64位版权所有(C)   微软公司。版权所有。开始于:2:17:12 PM   IS服务器上的包执行失败。执行ID:6,执行   状态:4。要查看执行的详细信息,请右键单击   Integration Services Catalog,并打开[All Executions]报告   开始于:2:17:12 PM完成时间:下午2:17:17经过:4.493秒。   包执行失败。步骤失败了。

我确定权限存在一些问题,但我无法解决此问题。

此程序包正在删除桌面上存在的文件夹的内容。 SQL Server实例正在我的机器上运行。我在一台独立的机器上。

4 个答案:

答案 0 :(得分:10)

在搜索了很多文章之后,我得到了一篇帮助我识别实际错误的文章: - 确定问题

  1. 登录sql server instance
  2. 导航至Integration Service目录
  3. 右键单击您的SSISDB目录并选择所有报告 - >标准报告 - >所有执行
  4. 对于您的文件夹,单击“失败任务的所有消息”
  5. 您将在此处看到错误
  6. 在我的情况下,错误是"访问路径' C:\ Users \ MyUser \ Desktop \ Test Folder'被拒绝"。要注意,此报告中有一个部分调用者正在尝试访问此文件夹,在我的情况下,它是 NT SERVICE \ SQLSERVERAGENT

    转到此文件夹,右键单击 - >属性 - >安全 在群组/用户名下,点击修改 - >在新的弹出窗口中添加新用户 现在,如果您正在尝试查找NT SERVICE \ SQLSERVERAGENT用户,您将无法找到,因为它位于服务帐户下,这意味着您将看到名为 SERVICE 的用户。这是您需要添加到此文件夹的用户。

    一旦我添加了这个,我的工作开始运行:)

答案 1 :(得分:0)

就我而言 确定问题: 登录sql服务器实例 导航到Integration Service目录 右键单击您的SSISDB目录,然后选择所有报告->标准报告->所有执行 -检查“失败/红色错误日志报告”部分(概述,所有消息,执行性能) -我转到概述->单击执行路径->在错误消息下单击视图上下文 这将向您显示逐步执行。我在ssms中重新运行sql脚本时出现数据类型不匹配的问题。一旦我修复了数据类型或删除了多余的数据。 全部恢复正常

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

解决方案 -

转到您收到拒绝访问错误的文件夹,

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

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