4

リモート SSIS パッケージを指定したときに、パッケージの実行が完了するまで dtexec ツールを終了させないようにする方法はありますか?

パッケージは正常に実行されますが、dtexec が報告する実行時間は、SQL Server の「すべての実行」レポートで報告される実際の期間よりもはるかに短くなります。次のメッセージが表示されます。

To view the details for the execution, right-click on the Integration Services Catalog, and open the [All Executions] report

私の目標は、コマンド ラインで dtexec を開始し、パッケージの完成に応じて他のコードを実行することです。理想的には、パッケージの実行が完了するまで dtexec が終了しないようにしたいと考えています。

これは可能ですか?

4

1 に答える 1

4

SYNCHRONIZEDパラメータを探しています

私のリンクのみの回答をリンクとコードのみの回答にするには、TSQLでそれを行うためのフィルのコードを次に示します

DECLARE @execution_id BIGINT = 0;

-- Create a package execution
EXEC [SSISDB].[catalog].[create_execution] 
        @package_name=N'Package.dtsx', 
        @execution_id=@execution_id OUTPUT, 
        @folder_name=N'PhilsTest', 
        @project_name=N'Demo', 
        @use32bitruntime=False;

EXEC [SSISDB].[catalog].[set_execution_parameter_value] 
        @execution_id,  
        @object_type=50, 
        @parameter_name=N'SYNCHRONIZED', 
        @parameter_value=1; -- true


-- Start the package
EXEC [SSISDB].[catalog].[start_execution] 
        @execution_id;

dtexecから同じ動作を取得するには、次のようなパラメーターを指定します

DTExec 
/ISSERVER "\SSISDB\folderB\Integration Services Project17\Package.dtsx" 
/SERVER "." /Envreference 2 
/Par "$Project::ProjectParameter(Int32)";1 /Par "Parameter(Int32)";21 
/Par "CM.sqlcldb2.SSIS_repro.InitialCatalog";ssisdb 
/Par "$ServerOption::SYNCHRONIZED(Boolean)";True
于 2013-07-18T22:07:39.140 に答える