【发布时间】: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