0

私の要件は、SQL Server エージェント ジョブから SSIS パッケージを実行することです。SQL テーブルにデータをロードする 2 つのパッケージとキューブを処理する 3 つ目のパッケージの 3 つの SSIS パッケージがあります。2 つの SQL Server エージェント ジョブを作成しました。1 つはデータを SQL テーブルにロードするパッケージを実行するジョブで、もう 1 つはキューブを処理するジョブです。以下の解決策を試しましたが、期待どおりに機能していません


解決策 1 :- 3 つの手順で SQL Server エージェント ジョブを作成しました。

1 つのパッケージを実行する最初のステップ。

別のパッケージを実行する 2 番目のステップ。

キューブを処理するパッケージを実行する 3 番目のステップ。

問題:- 1 番目と 2 番目のステップは正しく実行されましたが、3 番目のステップは実行されませんでした


解決策 2 :- SQL Server エージェント ジョブの 3 つの手順を作成しました。

1 つのパッケージを実行する最初のステップ。

別のパッケージを実行する 2 番目のステップ。

XML コードを使用してキューブを直接処理する 3 番目のステップ。

問題:- 再びキューブが処理されない


解決策 3 :- 2 つの SQL Server エージェント ジョブを作成しました。1 つはパッケージを実行してデータをロードし、2 番目はキューブを処理します。独立して、両方とも正常に動作します。次々と実行するには、以下の手順を実行しました。

1 つのパッケージを実行する最初のステップ。

別のパッケージを実行する 2 番目のステップ。

3番目のステップでは、キューブを処理するジョブを実行する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

問題:- 両方のジョブが実行されていますが、順序どおりではありません。データ ロード パッケージの実行が終了する前に、キューブ処理パッケージが開始されます。


SSAS キューブは表形式モデルです

誰か別のアプローチがありますか?

4

1 に答える 1

0

私は解決策を持っています。「マスターパッケージ」としてもう1つのSSISパッケージを作成しました。このパッケージには、すべてのパッケージを順番に実行する「シーケンスコンテナ」があります(実行したい順序)。

ありがとう

于 2016-02-25T05:23:46.843 に答える