Microsoft SQL代理作业无法使用嵌入式C#执行SSIS包

时间:2016-03-08 15:44:17

标签: c# ssis jobs agent

嗨,我希望有人可以帮助我,因为我花了一天的时间来试图让这个工作起作用,我为这个问题的长度道歉。

我正在使用SQL Server 2012并拥有一个用Visual Studio 2010编写的SSIS包,它由一个C#脚本任务组成,它调用API并从网站收集数据并将其插入到SQL数据表中。

从Visual Studio执行包时,如果我将dtsx导入Integration Services中的msdb数据库或导入到文件系统中,这样可以正常工作。

当我尝试通过SQL代理作业执行作业时,问题就出现了,我已经尝试了我在网上找到的所有内容,据我所知,但仍然无法执行作业。

下面是我尝试过的一系列事项,在每种情况下我都收到错误“包执行返回DTSER_FAILURE(1)”

该软件包由我们的一位开发人员编写,然后检入版本控制,然后由我自己打开。

  1. 在软件包的Visual Studio中设置各种ProtectionLevels,并尝试使用密码执行,但无法执行。
  2. 在我尝试执行的服务器上打开包,甚至以我正在运行的服务帐户登录,然后重新保存包。
  3. 尝试从文件系统执行包,msdb,尝试简单地调用使用dtexec的批处理文件(在命令提示符下本地执行正常)
  4. 尝试使用代理作业中的代码或调用脚本
  5. 作为PowerShell命令执行
  6. 在服务器上创建了一个新的本地管理员帐户,并将其添加为SQL登录,然后创建了凭据和代理,这不起作用
  7. 尝试了与我自己具有相同访问权限的其他代理帐户,但此操作失败。
  8. 尝试创建存储过程并从那里执行但出现相同的错误。
  9. SSIS包中没有连接管理器,我已在服务器上授予了具有权限的文件夹,以便代理作业可以看到dtsx文件。
  10. 将SISS包设置为32位,将代理作业设置为32位运行时。
  11. 我已经用尽了我可以尝试的每个选项但由于某种原因SSIS包只会通过SQL代理作业执行,如果我创建凭据和代理并将其指向我的Windows登录凭据然后运行代理作业代理帐户。

    无论我改变什么,仍然允许我在Visual Studio中执行,如果我通过在Integration Services中右键单击它来运行Package。

    我有什么遗失的吗?你是不是可以从代理作业中运行带有嵌入式C#的SSIS包,因为我之前已经编写了很多包,并且在这个包之前没有任何问题地执行它们。

0 个答案:

没有答案