您如何通过和 SSMS 存储过程调用和 SSIS 包?

Posted

技术标签:

【中文标题】您如何通过和 SSMS 存储过程调用和 SSIS 包?【英文标题】:How do you call and SSIS Package via and SSMS Stored Procedure? 【发布时间】:2016-03-16 14:07:21 【问题描述】:

我觉得这应该很容易,但我已经搜索了互联网,我找不到一个好的参考点来说明从哪里开始。

我有一个 SSIS 包,用于将一堆表从我们的 AS400 复制到我的 SQL Server 数据仓库中。然后我运行一些存储过程来为一些报告生成数据。我目前手动触发。 我希望能够通过存储过程触发这个 SSIS 脚本。我想要的包存储在集成服务中,而不是本地机器上。它与 SSMS 所在的服务器相同。

我觉得这应该很容易,而且相当普遍,但我似乎无法弄清楚。任何意见将不胜感激。

图片:我的 SSIS IDE

【问题讨论】:

【参考方案1】:

SSMS 中的几乎所有操作都可以通过单击几乎所有对话框中出现的Script 按钮来生成脚本。要生成执行脚本,请右键单击要执行的包,然后单击左上角的Script 按钮。

这会生成一个像这样的脚本:

Declare @execution_id bigint
EXEC [SSISDB].[catalog].[create_execution] @package_name=N'MyPackageName.dtsx', @execution_id=@execution_id OUTPUT, @folder_name=N'MyFolder', @project_name=N'MyProject', @use32bitruntime=False, @reference_id=1
Select @execution_id
DECLARE @var0 smallint = 1
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id,  @object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var0
EXEC [SSISDB].[catalog].[start_execution] @execution_id

【讨论】:

嗯,是的,我确实看到其他人在我正在阅读的另一个线程中提到过,但我在任何地方都没有看到该选项。我正在使用 Sequel Server 2008 R2... 该选项至少从 2008 年开始提供 好吧,有什么办法可以给我发一张我正在寻找的截图/图片我从来没有使用过这个选项,我在任何地方都看不到它。再次感谢。 更好的是,我添加了一张我的 SSMS/SSIS 的照片,向您展示我所看到的。

以上是关于您如何通过和 SSMS 存储过程调用和 SSIS 包?的主要内容,如果未能解决你的问题,请参考以下文章

在 SSIS 中将 varchar 数据类型转换为日期时间

存储过程如何在从 BIDS 调用时不返回行,但在使用相同参数时从 SSMS 调用时返回行?

使用 SSIS 和 SSMS - 尝试创建详细说明源和目标列及其关系的 ETL 设计文档

从不同帐户下的存储过程调用 SSIS 包

SQL Server 2005 使用 GETDATE() 作为参数通过 SSIS 运行存储过程

如何在SQL Server Management Studio 2017中调试SSIS包?