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

时间:2016-03-16 14:07:21

标签: sql-server sql-server-2008 stored-procedures ssis

我觉得这应该很容易,但我已经在互联网上搜索过,我无法找到从哪里开始的好参考点。

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

我觉得这应该很简单,而且很常见,但我似乎无法弄明白。任何意见都将不胜感激。

图片:我的SSIS IDE enter image description here

1 个答案:

答案 0 :(得分: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

GO