SSIS包无法调用Sp_ssis_addlogentry存储过程

时间:2012-10-23 09:58:08

标签: ssis

解决方案中的某些软件包无法调用Sp_SSIS_Addlogentry存储的proecdure,因此没有为这些软件包捕获日志记录。我很震惊地看到为什么同一解决方案中的其他软件包能够记录他们的条目。

任何解决方案都可以解决这个问题? Anny的建议?

2 个答案:

答案 0 :(得分:1)

'sp_ssis_addlogentry'需要获得许可。检查您的包是否具有EXECUTE权限。 (您的SSIS解决方案中有两个或更多连接吗?是否可以尝试使用DBA / sa登录执行sp_ssis_addlogentry?)

希望它有所帮助,几个月前我遇到了这个问题,这为我解决了这个问题。

答案 1 :(得分:0)

如果您启用包日志记录到 SQL 数据库,也会发生这种情况。您应该将其配置为指向 msdb,因为它具有所有必需的表和存储的 proc,然后将必要的 proc 上的执行权限应用于您正在执行包的帐户(如果从 SQL 代理运行,通常是代理帐户)。

我不确定哪些过程需要许可,但我通常会这样做:

USE [msdb]
GO
CREATE USER [MyDomain\svcMy_SSIS_Proxy] FOR LOGIN [MyDomain\svcMy_SSIS_Proxy]
GO
CREATE ROLE [SSIS_Executor]
GO
GRANT EXECUTE ON sp_ssis_addlogentry TO [SSIS_Executor]
GRANT EXECUTE ON sp_ssis_checkexists TO [SSIS_Executor]
GRANT EXECUTE ON sp_ssis_getfolder TO [SSIS_Executor]
GRANT EXECUTE ON sp_ssis_getpackage TO [SSIS_Executor]
GRANT EXECUTE ON sp_ssis_getpackageroles TO [SSIS_Executor]
GRANT EXECUTE ON sp_ssis_listfolders TO [SSIS_Executor]
GRANT EXECUTE ON sp_ssis_listpackages TO [SSIS_Executor]

ALTER ROLE [SSIS_Executor]
ADD MEMBER [MyDomain\svcMy_SSIS_Proxy]