不要执行另一个 SQL 服务器代理作业,除非另一个正确完成执行

Do Not Execute another SQL Server Agent Job unless the other finishes the execution properly

我的要求是 运行 来自 SQL 服务器代理作业的 SSIS 包,我有 3 个 SSIS 包 2 个包将数据加载到 SQL Table 和第 3 个包处理立方体。我创建了一个 2 SQL 服务器代理作业,一个到 运行 将数据加载到 SQL table 的包,另一个用于处理多维数据集。 我尝试了以下解决方案,但没有达到我想要的期望


解决方案 1:- 通过 3 个步骤创建了 SQL 服务器代理作业。

1st Step to execute one package.

2nd Step to execute another package.

3rd Step to execute the package which processing the cube.

问题:- 第一步和第二步正确执行但第三步没有执行


解决方案 2:- 创建了一个 SQL 服务器代理作业 3 个步骤。

1st Step to execute one package.

2nd Step to execute another package.

3rd Step to process the cube directly using XML code.

问题:- 多维数据集再次未处理


解决方案 3:- 创建了 2 SQL 个服务器代理作业,其中 1 个执行包以加载数据,第 2 个用于处理多维数据集。独立地,两者都可以正常工作。为了 运行 一个接一个,我做了以下步骤。

1st Step to execute one package.

2nd Step to execute another package.

3rd Step write the T-SQL Command to execute the Job which process the cube (processing using SSIS Package).

Use msdb;
Go
EXEC dbo.sp_start_job N'Job_Name' ;
GO

问题:- 多维数据集作业再次未执行


解决方案 4:- 用 1 个步骤创建了一个工作

步骤:- T-SQL 执行包的命令 T-SQL 命令:-

Use msdb;
Go
EXEC dbo.sp_start_job N'Job1_Name' ;
GO
EXEC dbo.sp_start_job N'Job2_Name' ;
GO

问题:- 两个作业都执行但没有进入顺序,Cube 处理包在数据加载包结束执行之前启动。


SSAS 多维数据集在表格模型中

有人有其他方法吗?

我有一个解决方案,我又创建了一个 SSIS 包 'Master package',这个包有 'Sequence container',它按顺序执行所有包(我希望它们执行的顺序)。

谢谢