Azure SQL Managed Instance エージェントを使用して SSIS パッケージを実行する

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。

この記事では、Azure SQL Managed Instance エージェントを使用して SQL Server Integration Services (SSIS) パッケージを実行する方法について説明します。 この機能では、オンプレミス環境内で SQL Server エージェントを使用して SSIS パッケージをスケジュールする場合と同様の動作が提供されます。

この機能を使用すると、SQL Managed Instance、Azure Files のようなファイル システム、または Azure-SSIS Integration Runtime パッケージ ストア内の SSISDB に格納されている SSIS パッケージを実行できます。

前提条件

この機能を使用するには、最新の SQL Server Management Studio (SSMS) をダウンロードしてインストールします。 バージョンのサポートの詳細は、次のとおりです。

  • SSISDB またはファイル システム内のパッケージを実行するには、SSMS バージョン 18.5 以降をインストールします。
  • パッケージ ストア内のパッケージを実行するには、SSMS バージョン 18.6 以降をインストールします。

また、Azure Data Factory で Azure SSIS 統合ランタイムをプロビジョニングする必要があります。 SQL Managed Instance をエンドポイント サーバーとして使用します。

SSISDB で SSIS パッケージを実行する

この手順では、SQL Managed Instance エージェントを使用して、SSISDB に格納されている SSIS パッケージを呼び出します。

  1. 最新バージョンの SSMS で、SQL Managed Instance に接続します。

  2. 新しいエージェント ジョブと新しいジョブ ステップを作成します。 [SQL Server エージェント] 下で、 [ジョブ] フォルダーを右クリックして [新しいジョブ] を選択します。

    Selections for creating a new agent job

  3. [新しいジョブ ステップ] ページで、種類として [SQL Server Integration Services パッケージ] を選択します。

    Selections for creating a new SSIS job step

  4. [パッケージ] タブで、パッケージの場所として [SSIS カタログ] を選択します。

  5. SSISDB は同じ SQL Managed Instance 内にあるため、認証を指定する必要はありません。

  6. SSISDB から SSIS パッケージを指定します。

    Package tab with selections for the package source type

  7. [構成] タブで、次の操作を実行できます。

    • [パラメータ―] でパラメーター値を指定します。
    • [接続マネージャー] で値を上書きします。
    • プロパティをオーバーライドして、 [詳細] でログ記録レベルを選択します。

    Configuration tab with selections for the package source type

  8. [OK] を選択して、エージェント ジョブ構成を保存します。

  9. SSIS パッケージを実行するエージェント ジョブを開始します。

ファイル システム内の SSIS パッケージを実行する

この手順では、SQL Managed Instance エージェントを使用して、ファイル システムに格納されている SSIS パッケージを実行します。

  1. 最新バージョンの SSMS で、SQL Managed Instance に接続します。

  2. 新しいエージェント ジョブと新しいジョブ ステップを作成します。 [SQL Server エージェント] 下で、 [ジョブ] フォルダーを右クリックして [新しいジョブ] を選択します。

    Selections for creating a new agent job

  3. [新しいジョブ ステップ] ページで、種類として [SQL Server Integration Services パッケージ] を選択します。

    Selections for creating a new SSIS job step

  4. [パッケージ] タブで、次の操作を実行します。

    1. [パッケージの場所][ファイル システム] を選択します。

    2. [ファイル ソースの種類] に、次のように設定を行います。

      • パッケージが Azure Files にアップロードされている場合は、 [Azure ファイル共有] を選択します。

        Options for file source type

        パッケージのパスは、 \\<storage account name>.file.core.windows.net\<file share name>\<package name>.dtsx です。

        [Package file access credential](パッケージ ファイル アクセス資格情報) に Azure ファイル アカウント名とアカウント キーを入力して、Azure ファイルにアクセスします。 ドメインは Azure として設定されます。

      • パッケージがネットワーク共有にアップロードされている場合は、 [ネットワーク共有] を選択します。

        パッケージ パスは、パッケージ ファイルの UNC パスであり、.dtsx 拡張子が付いています。

        ネットワーク共有パッケージ ファイルにアクセスするには、対応するドメイン、ユーザー名、およびパスワードを入力します。

    3. パッケージ ファイルがパスワードによって暗号化されている場合は、 [暗号化用パスワード] を選択して、パスワードを入力します。

  5. SSIS パッケージを実行するための構成ファイルが必要な場合は、 [構成] タブ上で、構成ファイルのパスを入力します。 構成を Azure Files に保存する場合、その構成のパスは \\<storage account name>.file.core.windows.net\<file share name>\<configuration name>.dtsConfig になります。

  6. [実行オプション] タブで、SSIS パッケージを実行するために Windows 認証または 32 ビット ランタイムのどちらを使用するかを選択できます。

  7. [ログ] タブでは、ログ ファイルを格納するためのログ パスおよび対応するログ アクセス資格情報を選択できます。 既定では、ログ パスはパッケージ フォルダー パスと同じであり、ログ アクセス資格情報はパッケージ アクセス資格情報と同じになります。 ログを Azure Files に保存する場合、ログ記録のパスは \\<storage account name>.file.core.windows.net\<file share name>\<log folder name> になります。

  8. [値の設定] タブで、プロパティのパスおよび値を入力して、パッケージのプロパティをオーバーライドできます。

    たとえば、ユーザー変数の値をオーバーライドするには、\Package.Variables[User::<variable name>].Value の形式でパスを入力します。

  9. [OK] を選択して、エージェント ジョブ構成を保存します。

  10. SSIS パッケージを実行するエージェント ジョブを開始します。

パッケージ ストア内の SSIS パッケージを実行する

注意

パッケージ ストアは、Azure Synapse の Azure-SSIS IR ではサポートされません。

この手順では、SQL Managed Instance エージェントを使用して、Azure-SSIS IR パッケージ ストアに格納されている SSIS パッケージを実行します。

  1. 最新バージョンの SSMS で、SQL Managed Instance に接続します。

  2. 新しいエージェント ジョブと新しいジョブ ステップを作成します。 [SQL Server エージェント] 下で、 [ジョブ] フォルダーを右クリックして [新しいジョブ] を選択します。

    Selections for creating a new agent job

  3. [新しいジョブ ステップ] ページで、種類として [SQL Server Integration Services パッケージ] を選択します。

    Selections for creating a new SSIS job step

  4. [パッケージ] タブで、次の操作を実行します。

    1. [パッケージの場所][パッケージ ストア] を選択します。

    2. [パッケージのパス] :

      パッケージのパスは、 <package store name>\<folder name>\<package name> です。

      Options for package store type

    3. パッケージ ファイルがパスワードによって暗号化されている場合は、 [暗号化用パスワード] を選択して、パスワードを入力します。

  5. SSIS パッケージを実行するための構成ファイルが必要な場合は、 [構成] タブ上で、構成ファイルのパスを入力します。 構成を Azure Files に保存する場合、その構成のパスは \\<storage account name>.file.core.windows.net\<file share name>\<configuration name>.dtsConfig になります。

  6. [実行オプション] タブで、SSIS パッケージを実行するために Windows 認証または 32 ビット ランタイムのどちらを使用するかを選択できます。

  7. [ログ] タブでは、ログ ファイルを格納するためのログ パスおよび対応するログ アクセス資格情報を選択できます。 既定では、ログ パスはパッケージ フォルダー パスと同じであり、ログ アクセス資格情報はパッケージ アクセス資格情報と同じになります。 ログを Azure Files に保存する場合、ログ記録のパスは \\<storage account name>.file.core.windows.net\<file share name>\<log folder name> になります。

  8. [値の設定] タブで、プロパティのパスおよび値を入力して、パッケージのプロパティをオーバーライドできます。

    たとえば、ユーザー変数の値をオーバーライドするには、\Package.Variables[User::<variable name>].Value の形式でパスを入力します。

  9. [OK] を選択して、エージェント ジョブ構成を保存します。

  10. SSIS パッケージを実行するエージェント ジョブを開始します。

SSIS パッケージ実行の取り消し

SQL Managed Instance エージェント ジョブからパッケージの実行を取り消すには、エージェント ジョブを直接停止するのではなく、以下の手順を実行します。

  1. msdb.dbo.sysjobs から SQL エージェント jobId を探します。

  2. 次のクエリを使用して、ジョブ ID に基づいて対応する SSIS executionId を探します。

    select * from '{table for job execution}' where  parameter_value = 'SQL_Agent_Job_{jobId}' order by execution_id desc
    

    SSIS パッケージが SSISDB に含まれている場合は、ジョブ実行のテーブルとして ssisdb.internal.execution_parameter_values を使用します。 SSIS パッケージがファイル システムに含まれている場合は、ssisdb.internal.execution_parameter_values_noncatalog を使用します。

  3. SSISDB カタログを右クリックして、 [アクティブな操作] を選択します。

    "Active Operations" on the shortcut menu for the SSISDB catalog

  4. executionId に基づいて、対応する操作を停止します。

Azure Data Factory を使用して、SSIS パッケージのスケジュールを設定することもできます。 詳細な手順については、Azure Data Factory イベント トリガーに関する記事を参照してください。