【问题标题】:Calling SSIS package from stored procedure under a different account从不同帐户下的存储过程调用 SSIS 包
【发布时间】:2015-03-31 03:24:43
【问题描述】:

我有一个存储过程,它使用 EXEC SSISDB.CATALOG.start_execution @Execution_Id 方法运行和调用 SSIS 包。

但是我需要在具有更多权限的服务帐户而不是用户帐户下执行包。

使用 EXECUTE AS LOGIN = 不起作用。有谁知道如何做到这一点。我知道的唯一其他方式涉及代理工作和代理帐户。

在 SQL 2012 上肯定有一种简单的方法可以实现这一点吗?

【问题讨论】:

  • 我过去使用您提到的代理工作和代理帐户解决了这个问题。

标签: sql-server stored-procedures ssis proxy


【解决方案1】:

'EXECUTE AS' 对我来说很好用。

需要注意的一点是在调用执行方法之前将上下文切换到 SSIS 目录数据库。因此顶部有“USE”声明。

USE SSISDB;
EXECUTE AS LOGIN = 'domain\user'

DECLARE @execution_id BIGINT
EXEC CATALOG.create_execution @folder_name = 'MyFolder1',
    @project_name = 'MyProject', @package_name = 'Package.dtsx',
    @use32bitruntime = 1, @execution_id = @execution_id OUTPUT;

EXEC CATALOG.start_execution @execution_id;

【讨论】:

    猜你喜欢
    • 2015-09-21
    • 2017-01-27
    • 2013-07-21
    • 2020-09-23
    • 1970-01-01
    • 2010-10-29
    • 2011-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多