首页 文章

无法使用SSIS包运行[catalog] . [create_execution]存储过程

提问于
浏览
0

我在使用Windows身份验证/ sql身份验证从SSIS包调用SSID DB目录存储过程时遇到以下错误 .

错误详细信息:[执行SQL任务]错误:执行查询“EXEC [SSISDB] . [目录] . [create_execution]?,?,...”失败,出现以下错误:“帐户无法启动操作使用SQL Server身份验证 . 使用Windows身份验证的帐户启动操作 . “可能的故障原因:查询问题,“ResultSet”属性设置不正确,参数设置不正确或连接未正确 Build .

基本上我正在尝试使用 FOR EACH LOOP 创建一个主程序包来运行自定义表列表中的所有包,然后通过检查EVEN - OnERROR记录相同的目录表,使用 EXECUTION ID 捕获错误 .

但是在调用存储过程的阶段,我遇到了这个问题 . 请帮助并指导我 . 如何使用目录存储过程运行此包以按顺序运行包生成SSIS目录项目中部署的包列表以按顺序运行?

欢迎提出建议

SP代码:

ALTER PROCEDURE [发布] . [usp_ExecutePackages] @PackageName NVARCHAR(255),@ ProjectFolder NVARCHAR(255),@ ProjectNVARCHAR(255)AS BEGIN SET NOCOUNT ON; DECLARE @Execution_id BIGINT; EXEC [SSISDB] . [catalog] . [create_execution] @ package_name = @PackageName,@ execution_id = @Execution_id OUTPUT,@ folder_name = @ProjectFolder,@ project_name = @ProjectName,@ use32bitruntime = True; EXEC [SSISDB] . [catalogue . ] [set_execution_parameter_value] @execution_id,@ object_type = 50,@ parameter_name = N'SYNCHRONIZED',@ parameter_value = 1 EXEC [SSISDB] . [catalog] . [start_execution] @Execution_id

1 回答

  • 0

    答案在错误消息中:

    error: "The operation cannot be started by an account that uses SQL Server Authentication. Start the operation with an account that uses Windows Authentication.
    

    如果您登录到SQL的帐户不是Windows身份验证帐户,则从TSQL存储过程调用SSIS不起作用 . 这是因为SSIS是一个外部Windows进程,因此它无法识别仅存在于SQL Master数据库中的Logins .

    The solution :使用现有的AD帐户或创建新的本地帐户 . 在SQL上创建一个新登录并指定Windows身份验证 . 然后用它登录 .

相关问题