正如我对详细错误的评论,您可以尝试下面的Microsoft链接:
Debug SSIS Package while calling from Agent
链接中的一些信息:
包可能失败的原因如下:
包可能无法在以下情况下运行:
-
当前用户无法解密包中的机密。如果当前帐户或执行帐户
与原始包作者不同
ProtectionLevel属性设置不允许当前用户
解密包中的秘密。
-
使用集成安全性的SQL Server连接失败,因为当前用户没有所需的权限。
-
文件访问失败,因为当前用户没有写入连接的文件共享所需的权限
管理器访问。例如,此场景可以与文本一起出现
不使用登录名和密码的日志提供程序。这种情况
也可以发生在依赖于文件连接的任何任务中
管理器,例如SSIS文件系统任务。
-
基于注册表的SSIS包配置使用HKEY_CURRENT_USER注册表项。HKEY_CURRENT_USER注册表项
是用户特定的。
任务或连接管理器要求当前用户帐户具有正确的权限。
方法1
:使用SQL Server Agent代理帐户创建SQL Server代理代理帐户。此代理帐户必须使用
允许SQL Server代理作为创建
包或作为具有所需权限的帐户。
此方法用于解密机密并满足密钥
用户的要求。然而,这种方法的成功可能有限
因为SSIS包用户密钥涉及当前用户和
当前计算机。因此,如果您将包移动到另一个
计算机,即使作业步骤使用
正确的代理帐户。
方法2
:将SSIS Package ProtectionLevel属性设置为ServerStorage将SSIS PackageProtectionLevel更改为
服务器存储。此设置将包存储在SQL Server中
数据库,并允许通过SQL Server数据库进行访问控制
角色。
方法3
:将SSIS包ProtectionLevel属性设置为EncryptSenitiveWithPassword更改SSIS包保护级别
属性设置为EncryptSenitiveWithPassword。此设置使用密码
用于加密。然后可以修改SQL Server代理作业步骤
包含此密码的命令行。
方法4
:使用SSIS包配置文件使用SSIS程序包配置文件存储敏感信息,然后存储
这些配置文件位于安全文件夹中。然后可以更改
将ProtectionLevel属性设置为DontSaveSensitive,以便包
未加密,并且不会尝试将机密保存到包中。什么时候
运行SSIS包时,将从
配置文件。确保配置文件
如果它们包含敏感信息,则受到充分保护。
方法5
:创建程序包模板为实现长期解决方案,请创建使用不同保护级别的程序包模板
从默认设置。将来不会出现此问题
包装。
上面的链接将帮助您完成日志记录和其他可能的SQL代理程序包失败场景。我怀疑您的代理用户已损坏。但这只是一个假设。首先通过以下链接启用SSIS日志记录:
Enable SSIS Package Logging
链接中的一些信息
使用执行包设置包的日志记录级别
对话框
-
在SQLServerManagementStudio中,导航到对象资源管理器中的包。
-
右键单击包并选择执行。
-
在“执行包”对话框中选择“高级”选项卡。
-
在日志记录级别下,选择日志记录级别。有关可用值的说明,请参见下表。
-
完成所有其他软件包配置,然后单击“确定”以运行软件包。
希望这对你有帮助。如果没有,请告诉我。