チュートリアル:Azure で SQL Server Integration Services (SSIS) パッケージをデプロイし、実行するTutorial: Deploy and run a SQL Server Integration Services (SSIS) package in Azure

APPLIES TO: yesSQL Server, including on Linux yesAzure SQL Database yesAzure SQL Data Warehouse noParallel Data Warehouse

このチュートリアルでは、Azure SQL Database の SSIS カタログに SQL Server Integration Services (SSIS) プロジェクトをデプロイする方法、Azure-SSIS Integration Runtime でのパッケージの実行方法、および実行中のパッケージの監視方法を示します。This tutorial shows you how to deploy a SQL Server Integration Services (SSIS) project to the SSIS Catalog in Azure SQL Database, run a package in the Azure-SSIS Integration Runtime, and monitor the running package.

PrerequisitesPrerequisites

始める前に、バージョン 17.2 以降の SQL Server Management Studio があることを確認します。Before you start, make sure you have version 17.2 or later of SQL Server Management Studio. 最新バージョンの SSMS をダウンロードするには、「SQL Server Management Studio (SSMS) のダウンロード」を参照してください。To download the latest version of SSMS, see Download SQL Server Management Studio (SSMS).

また、Azure で SSISDB データベースを設定し、Azure SSIS 統合ランタイムをプロビジョニングしていることを確認してください。Also make sure that you have set up the SSISDB database in Azure and provisioned the Azure-SSIS Integration Runtime. Azure で SSIS をプロビジョニングする方法については、「SQL Server Integration Services パッケージを Azure にデプロイする」を参照してください。For info about how to provision SSIS on Azure, see Deploy SQL Server Integration Services packages to Azure.

Azure SQL Database の場合の接続情報の取得For Azure SQL Database, get the connection info

Azure SQL Database でパッケージを実行するには、SSIS カタログ データベース (SSISDB) に接続するために必要な接続情報を取得します。To run the package on Azure SQL Database, get the connection information you need to connect to the SSIS Catalog database (SSISDB). 次の手順では、完全修飾サーバー名とログイン情報が必要です。You need the fully qualified server name and login information in the procedures that follow.

  1. Azure ポータルにログインします。Log in to the Azure portal.
  2. 左側のメニューから [SQL Databases] を選択し、 [SQL データベース] ページで SSISDB データベースを選びます。Select SQL Databases from the left-hand menu, and then select the SSISDB database on the SQL databases page.
  3. データベースの [概要] ページで、完全修飾サーバー名を確認します。On the Overview page for your database, review the fully qualified server name. [クリックしてコピー] オプションを表示するには、サーバー名にマウス ポインターを移動します。To see the Click to copy option, hover over the server name.
  4. Azure SQL Database サーバーのログイン情報を忘れた場合は、[SQL Database サーバー] ページに移動し、サーバーの管理者名を表示します。If you forget your Azure SQL Database server login information, navigate to the SQL Database server page to view the server admin name. 必要に応じて、パスワードをリセットできます。You can reset the password if necessary.

SSISDB データベースに接続するConnect to the SSISDB database

SQL Server Management Studio を使用して、Azure SQL Database サーバー上の SSIS カタログに接続します。Use SQL Server Management Studio to connect to the SSIS Catalog on your Azure SQL Database server. 詳細とスクリーンショットについては、「Azure 上の SSISDB カタログ データベースへの接続」を参照してください。For more info and screenshots, see Connect to the SSISDB Catalog database on Azure.

ここで、覚えるべき重要事項が 2 点あります。Here are the two most important things to remember. これらの点については、以下の手順で説明されます。These steps are described in the following procedure.

  • mysqldbserver.database.windows.net という形式で、Azure SQL Database サーバーの完全修飾名を入力します。Enter the fully qualified name of the Azure SQL Database server in the format mysqldbserver.database.windows.net.
  • 接続するデータベースとして SSISDB を選択します。Select SSISDB as the database for the connection.

重要

Azure SQL Database サーバーは、ポート 1433 でリッスンします。An Azure SQL Database server listens on port 1433. 企業のファイアウォール内から Azure SQL Database サーバーに接続しようとする場合、正常に接続するには、このポートを企業のファイアウォールで開ける必要があります。If you are attempting to connect to an Azure SQL Database server from within a corporate firewall, this port must be open in the corporate firewall for you to connect successfully.

  1. SQL Server Management Studio を開きます。Open SQL Server Management Studio.

  2. サーバーに接続しますConnect to the server. [サーバーへの接続] ダイアログ ボックスに次の情報を入力します。In the Connect to Server dialog box, enter the following information:

    設定Setting 提案される値Suggested value [説明]Description
    サーバーの種類Server type データベース エンジンDatabase Engine この値は必須です。This value is required.
    サーバー名Server name 完全修飾サーバー名The fully qualified server name 名前は mysqldbserver.database.windows.net の形式である必要があります。The name should be in this format: mysqldbserver.database.windows.net. サーバー名が必要な場合は、「Azure 上の SSISDB カタログ データベースへの接続」を参照してください。If you need the server name, see Connect to the SSISDB Catalog database on Azure.
    [認証]Authentication SQL Server 認証 (SQL Server Authentication)SQL Server Authentication Windows 認証を使用して Azure SQL Database に接続することはできません。You can't connect to Azure SQL Database with Windows authentication.
    LoginLogin サーバー管理者アカウントThe server admin account これはサーバーを作成したときに指定したアカウントです。The account that you specified when you created the server.
    パスワードPassword サーバー管理者アカウントのパスワードThe password for your server admin account これはサーバーを作成したときに指定したパスワードです。The password that you specified when you created the server.
  3. SSISDB データベースに接続しますConnect to the SSISDB database. [オプション] を選択して、 [サーバーへの接続] ダイアログ ボックスを展開します。Select Options to expand the Connect to Server dialog box. 展開した [サーバーへの接続] ダイアログ ボックスで、 [接続プロパティ] タブを選択します。 [データベースへの接続] フィールドで、SSISDB を選択または入力します。In the expanded Connect to Server dialog box, select the Connection Properties tab. In the Connect to database field, select or enter SSISDB.

  4. [接続] を選択します。Then select Connect. [オブジェクト エクスプローラー] ウィンドウで、SSMS を開きます。The Object Explorer window opens in SSMS.

  5. オブジェクト エクスプローラーで、 [Integration Services カタログ][SSISDB] の順に展開し、SSIS カタログ データベース内のオブジェクトを表示します。In Object Explorer, expand Integration Services Catalogs and then expand SSISDB to view the objects in the SSIS Catalog database.

配置ウィザードを使用してプロジェクトを配置するDeploy a project with the Deployment Wizard

パッケージの配置と配置ウィザードについて詳しくは、「Integration Services (SSIS) プロジェクトとパッケージの配置」および「Integration Services 配置ウィザード」を参照してください。To learn more about deploying packages and about the Deployment Wizard, see Deploy Integration Services (SSIS) Projects and Packages and Integration Services Deployment Wizard.

注意

Azure への配置では、プロジェクト配置モデルのみがサポートされます。Deployment to Azure only supports the project deployment model.

Integration Services 配置ウィザードを起動するStart the Integration Services Deployment Wizard

  1. SSMS のオブジェクト エクスプローラーで、 [Integration Services カタログ] ノードと [SSISDB] ノードを展開した状態で、プロジェクト フォルダーを展開します。In Object Explorer in SSMS, with the Integration Services Catalogs node and the SSISDB node expanded, expand a project folder.

  2. [プロジェクト] ノードを選びます。Select the Projects node.

  3. [プロジェクト] ノードを右クリックして、 [プロジェクトの配置] を選びます。Right-click on the Projects node and select Deploy project. Integration Services 配置ウィザードが開きます。The Integration Services Deployment Wizard opens. SSIS カタログ データベースから、またはファイル システムから、プロジェクトを配置することができます。You can deploy a project from an SSIS Catalog database or from the file system.

    SSMS からプロジェクトを配置する

    SSIS 配置ウィザード ダイアログ ボックスの表示

配置ウィザードを使用してプロジェクトを配置するDeploy a project with the Deployment Wizard

  1. 配置ウィザードの [概要] ページで、概要を確認します。On the Introduction page of the Deployment Wizard, review the introduction. [次へ] を選択して、 [ソースの選択] ページを開きます。Select Next to open the Select Source page.

  2. [ソースの選択] ページで、配置する既存の SSIS プロジェクトを選びます。On the Select Source page, select the existing SSIS project to deploy.

    • 作成したプロジェクト配置ファイルを配置するには、 [プロジェクト配置ファイル] を選択して .ispac ファイルのパスを入力します。To deploy a project deployment file that you created, select Project deployment file and enter the path to the .ispac file.
    • SSIS カタログにあるプロジェクトを配置するには、 [Integration Services カタログ] を選び、サーバー名とカタログ内のプロジェクトのパスを入力します。To deploy a project that resides in an SSIS catalog, select Integration Services catalog, and then enter the server name and the path to the project in the catalog.
    • [次へ] を選択して、 [配置先の選択] ページを表示します。Select Next to see the Select Destination page.
  3. [配置先の選択] ページで、プロジェクトの配置先を選びます。On the Select Destination page, select the destination for the project.

    • 完全修飾サーバー名を <server_name>.database.windows.net の形式で入力します。Enter the fully qualified server name in the format <server_name>.database.windows.net.
    • 認証情報を入力し、 [接続] を選択します。Provide authentication information, and then select Connect.
    • 次に、 [参照] を選択し、SSISDB でターゲット フォルダーを選択します。Then select Browse to select the target folder in SSISDB.
    • [次へ] を選択し、 [レビュー] ページを開きます。Then select Next to open the Review page. ( [次へ] ボタンは、 [接続] を選択した後でないと有効になりません。)(The Next button is enabled only after you select Connect.)
  4. [レビュー] ページで、選択した設定を確認します。On the Review page, review the settings you selected.

    • 選択内容を変更するには、 [戻る] を選択するか、左ペインで任意の手順を選択します。You can change your selections by selecting Previous, or by selecting any of the steps in the left pane.
    • [配置] をクリックして、配置プロセスを開始します。Select Deploy to start the deployment process.

    注意

    "アクティブなワーカー エージェントがありません。(.Net SqlClient Data Provider) " というエラー メッセージが表示される場合は、Azure-SSIS Integration Runtime が動いていることを確認してください。If you get the error message There is no active worker agent. (.Net SqlClient Data Provider), make sure the Azure-SSIS Integration Runtime is running. Azure-SSIS IR が停止状態の間に配置しようとすると、このエラーが発生します。This error occurs if you try to deploy while the Azure-SSIS IR is in a stopped state.

  5. 配置プロセスが完了すると、 [結果] ページが開きます。After the deployment process is complete, the Results page opens. このページでは、各アクションが成功したか、失敗したかを表示します。This page displays the success or failure of each action.

    • アクションが失敗した場合は、 [結果] 列の [失敗] を選択すると、エラーの説明が表示されます。If the action failed, select Failed in the Result column to display an explanation of the error.
    • 必要に応じて、 [レポートの保存] を選択して結果を XML ファイルに保存します。Optionally, select Save Report... to save the results to an XML file.
    • [閉じる] を選択してウィザードを終了します。Select Close to exit the wizard.

PowerShell でプロジェクトを配置するDeploy a project with PowerShell

PowerShell を使って Azure SQL Database の SSISDB にプロジェクトを配置するには、次のスクリプトを要件に適合させます。To deploy a project with PowerShell to SSISDB on Azure SQL Database, adapt the following script to your requirements. スクリプトが $ProjectFilePath の下の子フォルダーと各子フォルダー内のプロジェクトを列挙し、次に、SSISDB で同じフォルダーを作成し、それらのフォルダーにプロジェクトを展開します。The script enumerates the child folders under $ProjectFilePath and the projects in each child folder, then creates the same folders in SSISDB and deploys the projects to those folders.

このスクリプトには、SQL Server Data Tools バージョン 17.x、またはスクリプトを実行するコンピューターにインストールされている SQL Server Management Studio が必要です。This script requires SQL Server Data Tools version 17.x or SQL Server Management Studio installed on the computer where you run the script.

# Variables
$ProjectFilePath = "C:\<folder>"
$SSISDBServerEndpoint = "<servername>.database.windows.net"
$SSISDBServerAdminUserName = "<username>"
$SSISDBServerAdminPassword = "<password>"

# Load the IntegrationServices Assembly
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Management.IntegrationServices") | Out-Null;

# Store the IntegrationServices Assembly namespace to avoid typing it every time
$ISNamespace = "Microsoft.SqlServer.Management.IntegrationServices"

Write-Host "Connecting to server ..."

# Create a connection to the server
$sqlConnectionString = "Data Source=" + $SSISDBServerEndpoint + ";User ID="+ $SSISDBServerAdminUserName +";Password="+ $SSISDBServerAdminPassword + ";Initial Catalog=SSISDB"
$sqlConnection = New-Object System.Data.SqlClient.SqlConnection $sqlConnectionString

# Create the Integration Services object
$integrationServices = New-Object $ISNamespace".IntegrationServices" $sqlConnection

# Get the catalog
$catalog = $integrationServices.Catalogs['SSISDB']

write-host "Enumerating all folders..."

$folders = ls -Path $ProjectFilePath -Directory

if ($folders.Count -gt 0)
{
    foreach ($filefolder in $folders)
    {
        Write-Host "Creating Folder " $filefolder.Name " ..."

        # Create a new folder
        $folder = New-Object $ISNamespace".CatalogFolder" ($catalog, $filefolder.Name, "Folder description")
        $folder.Create()

        $projects = ls -Path $filefolder.FullName -File -Filter *.ispac
        if ($projects.Count -gt 0)
        {
            foreach($projectfile in $projects)
            {
                $projectfilename = $projectfile.Name.Replace(".ispac", "")
                Write-Host "Deploying " $projectfilename " project ..."

                # Read the project file, and deploy it to the folder
                [byte[]] $projectFileContent = [System.IO.File]::ReadAllBytes($projectfile.FullName)
                $folder.DeployProject($projectfilename, $projectFileContent)
            }
        }
    }
}

Write-Host "All done." 

パッケージの実行Run a package

  1. SSMS のオブジェクト エクスプローラーで、実行するパッケージを選択します。In Object Explorer in SSMS, select the package that you want to run.

  2. 右クリックして [実行] を選択し、 [パッケージの実行] ダイアログ ボックスを開きます。Right-click and select Execute to open the Execute Package dialog box.

  3. [パッケージの実行] ダイアログ ボックスで、 [パラメーター] タブ、 [接続マネージャー] タブ、 [詳細設定] タブの設定を使用して、パッケージの実行を構成します。In the Execute Package dialog box, configure the package execution by using the settings on the Parameters, Connection Managers, and Advanced tabs.

  4. [OK] を選択してパッケージを実行します。Select OK to run the package.

SSMS で実行中のパッケージを監視するMonitor the running package in SSMS

Integration Services サーバー上で現在実行されている Integration Services 操作 (配置、検証、パッケージの実行など) の状態を表示するには、SSMS の [アクティブな操作] ダイアログ ボックスを使用します。To view the status of currently running Integration Services operations on the Integration Services server, such as deployment, validation, and package execution, use the Active Operations dialog box in SSMS. [アクティブな操作] ダイアログ ボックスを開くには、 [SSISDB] を右クリックし、 [アクティブな操作] を選択します。To open the Active Operations dialog box, right-click SSISDB, and then select Active Operations.

また、オブジェクト エクスプローラーでパッケージを選択し、右クリックして [レポート] を選択し、 [標準レポート][すべての実行] の順に選択することもできます。You can also select a package in Object Explorer, right-click and select Reports, then Standard Reports, then All Executions.

SSMS で実行中のパッケージを監視する方法の詳細については、「パッケージとその他の操作を実行するモニター」を参照してください。For more info about how to monitor running packages in SSMS, see Monitor Running Packages and Other Operations.

SSIS パッケージの実行アクティビティを監視するMonitor the Execute SSIS Package activity

SSIS パッケージの実行アクティビティを使用して Azure Data Factory パイプラインの一部としてパッケージを実行している場合、Data Factory UI でパイプライン実行を監視できます。If you're running a package as part of an Azure Data Factory pipeline with the Execute SSIS Package activity, you can monitor the pipeline runs in the Data Factory UI. その後、アクティビティ実行の出力から SSISDB 実行 ID を取得し、その ID を使用してさらに包括的な実行ログとエラー メッセージを SSMS で確認できます。Then you can get the SSISDB execution ID from the output of the activity run, and use the ID to check more comprehensive execution logs and error messages in SSMS.

Data Factory でパッケージ実行 ID を取得する

Azure-SSIS Integration Runtime の監視Monitor the Azure-SSIS Integration Runtime

パッケージが実行されている Azure SSIS 統合ランタイムに関する状態情報を取得するには、次の PowerShell コマンドを使用します。To get status info about the Azure-SSIS Integration Runtime in which packages are running, use the following PowerShell commands. コマンドごとに、データ ファクトリ、Azure SSIS IR、およびリソース グループの名前を入力します。For each of the commands, provide the names of the Data Factory, the Azure-SSIS IR, and the resource group.

詳細については、Azure SSIS 統合ランタイムの監視に関するページを参照してください。For more info, see Monitor Azure-SSIS integration runtime.

Azure-SSIS Integration Runtime に関するメタデータを取得するGet metadata about the Azure-SSIS Integration Runtime

Get-AzDataFactoryV2IntegrationRuntime -DataFactoryName $DataFactoryName -Name $AzureSsisIRName -ResourceGroupName $ResourceGroupName

Azure-SSIS Integration Runtime の状態を取得するGet the status of the Azure-SSIS Integration Runtime

Get-AzDataFactoryV2IntegrationRuntime -Status -DataFactoryName $DataFactoryName -Name $AzureSsisIRName -ResourceGroupName $ResourceGroupName

次の手順Next steps