【问题标题】:Do Not Execute another SQL Server Agent Job unless the other finishes the execution properly除非另一个正确完成执行,否则不要执行另一个 SQL Server 代理作业
【发布时间】:2016-02-24 12:21:06
【问题描述】:

我的要求是从 SQL Server 代理作业运行 SSIS 包,我有 3 个 SSIS 包 2 个包将数据加载到 SQL 表和第 3 个包处理多维数据集。我创建了 2 个 SQL Server 代理作业,一个用于运行将数据加载到 SQL 表的包,另一个用于处理多维数据集。 我已经尝试了以下解决方案,但没有达到我想要的预期


解决方案 1:- 用 3 个步骤创建了一个 SQL Server 代理作业。

执行一个包的第一步。

第二步执行另一个包。

第三步执行处理多维数据集的包。

问题:- 第 1 步和第 2 步正确执行,但第 3 步未执行


解决方案 2:- 创建 SQL Server 代理作业 3 步。

执行一个包的第一步。

第二步执行另一个包。

第 3 步直接使用 XML 代码处理多维数据集。

问题:- 立方体再次没有处理


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

执行一个包的第一步。

第二步执行另一个包。

第三步编写 T-SQL 命令来执行处理 多维数据集(使用 SSIS 包处理)。

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

问题:- 两个job都执行了但是没有进入顺序,Cube处理包在数据加载包结束执行之前就开始了。


SSAS Cube 采用表格模型

有人有其他方法吗?

【问题讨论】:

  • 当您尝试解决方案 1 时,您能看到多维数据集无法处理的原因吗?查看作业历史记录是否显示最后一步是否已执行?如果较早的步骤引发错误,则作业可能会在该点退出(取决于它的配置方式)。
  • 你的前三个解决方案都很好。您需要弄清楚为什么多维数据集没有处理。
  • 感谢您的回复,如果我采用第一个解决方案,我需要处理默认的多维数据集,我有一个 SSAS 表格模型多维数据集,并收到类似“当 Analysis Services 处于表格形式时无法处理多维数据集”之类的错误模式。请改为处理数据库对象。但同一个包执行单独的作业。
  • 解决方案 2:-XML 脚本无法处理所有维度和度量值组。解决方案 3 和解决方案 4:- 成功执行包但执行顺序不正确。正如我提到的,多维数据集处理在数据加载完成之前开始。

标签: sql-server ssis ssas sql-server-agent ssas-tabular


【解决方案1】:

我有一个解决方案,我又创建了一个 SSIS 包作为“主包”,这个包有“序列容器”,它按顺序执行所有包(我希望它们执行的顺序)。

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-20
    • 2013-02-27
    • 2018-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    相关资源
    最近更新 更多