適用対象: SQL Server
Azure Data Factory の SSIS Integration Runtime
SQL Server Integration Services (SSIS) パッケージを作成して、SQL Server または Azure SQL Database にデータを読み込みます。 SSIS データ フローを通過するときに、必要に応じてデータを再構築、変換、およびクレンジングすることができます。
この記事では、以下の操作の実行方法について説明します。
- Visual Studio で新しい Integration Services プロジェクトを作成する。
- データをソースから変換先に読み込むための SSIS パッケージを設計する。
- SSIS パッケージを実行してデータを読み込む。
基本的な概念
このパッケージは SSIS での処理の基本単位です。 関連パッケージがプロジェクト内でグループ化されます。 SQL Server Data Tools を使用して Visual Studio でプロジェクトの作成およびパッケージの設計を行います。 設計プロセスは視覚的なプロセスであり、ツールボックスからデザイン画面にコンポーネントをドラッグ アンド ドロップし、コンポーネント同士を接続し、それらのプロパティを設定します。 パッケージが完成したら、パッケージを実行し、必要に応じて、包括的な管理、監視、およびセキュリティ保護のためにパッケージを SQL Server または SQL Database に配置することができます。
SSIS の詳細については、この記事では説明しません。 詳細については、以下の記事をお読みください。
ソリューションについて
ソリューションは、ソースと変換先を含むデータ フロー タスクを使用する一般的なパッケージです。 このアプローチは、SQL Server と Azure SQL Database を含む幅広いデータ ソースをサポートしています。
このチュートリアルでは、SQL Server をデータ ソースとして使用します。 SQL Server は、オンプレミスまたは Azure の仮想マシン上で実行されます。
SQL Server と SQL Database に接続するには、ADO.NET 接続マネージャー、ソース、および変換先を使用するか、OLE DB 接続マネージャー、ソース、および変換先を使用できます。 ADO.NET の構成オプションは最小限なので、このチュートリアルでは ADO.NET を使用します。 OLE DB では、ADO.NET よりもパフォーマンスが若干向上する場合があります。
ショートカットとして、SQL Server インポートおよびエクスポート ウィザードを使用して基本パッケージを作成できます。 次にパッケージを保存し、Visual Studio または SSDT で開いて表示し、カスタマイズします。 詳しくは、「SQL Server インポートおよびエクスポート ウィザードを使用してデータをインポートおよびエクスポートする」をご覧ください。
前提条件
このチュートリアルの手順を実行するには、以下の要素が必要です。
SQL Server Integration Services (SSIS) . SSIS は SQL Server のコンポーネントであり、使用するには SQL Server のライセンス版、開発者版、または評価版が必要です。 SQL Server の評価版を取得するには、SQL Server の評価に関するページを参照してください。
Visual Studio (省略可能)。 無料の Visual Studio Community Edition を取得するには、Visual Studio Community に関するページを参照してください。 Visual Studio をインストールしない場合は、SQL Server Data Tools (SSDT) のみをインストールできます。 SSDT をインストールすると、機能が制限されたバージョンの Visual Studio がインストールされます。
Visual Studio 用 SQL Server Data Tools (SSDT) 。 Visual Studio 用 SQL Server Data Tools を取得するには、SQL Server Data Tools (SSDT) のダウンロードに関するページを参照してください。
このチュートリアルでは、SQL Server または SQL データベース インスタンスに接続し、そのインスタンスにデータを読み込みます。 接続し、テーブルを作成し、次のいずれかの宛先にデータを読み込むアクセス許可が必要です。
Azure SQL Database データベース。 詳細については、Azure SQL Database に関するページを参照してください。
or
SQL Server インスタンス。 SQL Server は、オンプレミスまたは Azure の仮想マシン上で実行されます。 無料の Evaluation Edition または Developer Edition の SQL Server をダウンロードする場合は、SQL Server のダウンロードに関するページを参照してください。
サンプル データ。 このチュートリアルでは、ソース データとして、SQL Server の AdventureWorks サンプル データベースに格納されているサンプル データを使用します。 AdventureWorks サンプル データベースを取得するには、「AdventureWorks Sample Databases」 (AdventureWorks サンプル データベース) を参照してください。
ファイアウォール規則 (SQL Database にデータを読み込む場合)。 SQL Database にデータをアップロードするには、事前にローカル コンピューターの IP アドレスを使用して SQL Database に対してファイアウォール規則を作成しておく必要があります。
新しい Integration Services プロジェクトを作成する
Visual Studio を起動します。
[ファイル] メニュー で [新しい > プロジェクト] を選択します。
インストール済み テンプレート > ビジネス インテリジェンス > 統合サービス > プロジェクトタイプ に移動します。
[Integration Services プロジェクト] を選択します。 [名前] と [場所] に値を指定し、 [OK] を選択します。
Visual Studio が開き、新しい Integration Services (SSIS) プロジェクトを作成します。 次に Visual Studio は、プロジェクト内の新しい単一の SSIS パッケージ (Package.dtsx) のためのデザイナーを開きます。 次の画面領域が表示されます。
左側には、SSIS コンポーネントのツールボックス。
中央には、複数のタブを備えたデザイン画面。 通常は、少なくとも [制御フロー] タブと [データ フロー] タブを使用します。
右側には、ソリューション エクスプローラーと [プロパティ] ウィンドウ。
基本的なデータ フローを作成する
ツールボックスからデザイン画面の中央にデータ フロー タスクをドラッグします ( [制御フロー] タブ上で)。
[データ フロー タスク] をダブルクリックして [データ フロー] タブに切り替えます。
ツールボックスにあるその他のソースの一覧から、ADO.NET ソースをデザイン画面にドラッグします。 ソース アダプターが選択された状態で、 [プロパティ] ウィンドウでその名前を SQL Server ソースに変更します。
ツールボックスにあるその他の変換先の一覧から、ADO.NET 変換先をデザイン画面にドラッグし、ADO.NET ソースの下に配置します。 変換先アダプターが選択された状態で、 [プロパティ] ウィンドウでその名前を SQL 変換先に変更します。
ソース アダプターを構成する
ソース アダプターをダブルクリックして、ADO.NET 変換元エディターを開きます。
ADO.NET ソース エディターの [接続マネージャーの] タブで、[ADO.NET 接続マネージャーの] ボックスの横にある [の新しい] ボタンを選択して、[ADO.NET 接続マネージャーの構成] ダイアログ ボックスを開き、このチュートリアルでデータを読み込む SQL Server データベースの接続設定を作成します。
[ADO.NET 接続マネージャー
構成] ダイアログ ボックスで、[ 新しい ] ボタンを選択して [接続マネージャー ] ダイアログ ボックスを開き、新しいデータ接続を作成します。[接続マネージャー] ダイアログ ボックスで、次の操作を行います。
[プロバイダー] で、SqlClient データ プロバイダーを選択します。
[サーバー名] に SQL Server の名前を入力します。
[サーバー ログオン] セクションで、認証情報を選択または入力します。
[データベースへの接続] セクションで、AdventureWorks サンプル データベースを選択します。
[接続テスト] を選択します。
接続テストの結果を報告するダイアログ ボックスで、[OK] を選択して、[接続マネージャー] ダイアログ ボックスに戻ります。
[接続マネージャー] ダイアログ ボックスで [OK] を選択して、[ADO.NET 接続マネージャーの構成] ダイアログ ボックスに戻ります。
[ADO.NET 接続マネージャー構成] ダイアログ ボックスで、[OK] を選択して、ADO.NET ソース エディターに戻ります。
ADO.NET 変換元エディターの [Name of the table or the view](テーブルまたはビューの名前) リストで、 [Sales.SalesOrderDetail] テーブルを選択します。
[プレビュー
選択すると、ソース テーブル内の最初の 200 行のデータが [ プレビュー クエリ結果 ] ダイアログ ボックスに表示されます。[クエリ結果のプレビュー ] ダイアログ ボックスで、[閉じる] を選択して、ADO.NET ソース エディター に戻ります。
ADO.NET ソース エディター で、[OK]選択して、データ ソースの構成を完了します。
ソース アダプターを変換先アダプターに接続する
デザイン画面でソース アダプターを選択します。
ソース アダプターから延びている青い矢印を選択し、それが変換先エディターの所定の位置に固定されるまでドラッグします。
一般的な SSIS パッケージでは、ソースと変換先の間にある SSIS ツールボックスの他のいくつかのコンポーネントを使用して、SSIS データ フローを通過するときにデータを再構築、変換、クレンジングします。 この例をできるだけ簡単に保持するには、ソースを直接変換先に接続します。
変換先アダプターを構成する
変換先アダプターをダブルクリックして、ADO.NET 変換先エディターを開きます。
[ADO.NET 変換先エディター]の [接続マネージャー] タブで、[接続マネージャー] の一覧の横にある [新規] ボタンを選択して、[ADO.NET 接続マネージャーの構成] ダイアログ ボックスを開き、このチュートリアルでデータを読み込むデータベースの接続設定を作成します。
[ADO.NET 接続マネージャー
構成] ダイアログ ボックスで、[ 新しい ] ボタンを選択して [接続マネージャー ] ダイアログ ボックスを開き、新しいデータ接続を作成します。[接続マネージャー] ダイアログ ボックスで、次の操作を行います。
[プロバイダー] で、SqlClient データ プロバイダーを選択します。
[サーバー名] には、SQL Server または SQL Database サーバーの名前を入力します。
[サーバー ログオン] セクションで、 [SQL Server 認証を使用する] を選択し、認証情報を選択または入力します。
[データベースへの接続] セクションで、既存のデータベースを選択します。
テスト接続を選択します。
接続テストの結果を報告するダイアログ ボックスで、[OK] を選択して、[接続マネージャー] ダイアログ ボックスに戻ります。
[接続マネージャー] ダイアログ ボックスで [OK] を選択して、[ADO.NET 接続マネージャーの構成] ダイアログ ボックスに戻ります。
[ADO.NET の接続マネージャーの構成] ダイアログ ボックスで、[OK] を選択して、[ADO.NET 変換先エディター] に戻ります。
[ADO.NET 変換先エディター] で、[テーブルまたはビューを使用] リストの横にある [新規] を選択して、[テーブルの作成] ダイアログ ボックスを開き、ソース テーブルに一致する列リストを含む新しい変換先テーブルを作成します。
[テーブルの作成] ダイアログ ボックスで、次の操作を行います。
変換先テーブルの名前を SalesOrderDetail に変更します。
[OK] を選択してテーブルを作成し、ADO.NET 変換先エディタに戻ります。
ADO.NET 変換先エディターで、 [マッピング] タブを選択して、ソース内の列が変換先の列にどのようにマップされているか確認してください。
[OK] を選択して、宛先の構成を完了します。
パッケージを実行してデータを読み込む
ツール バーの
以下の段落では、この記事で説明した 2 つ目のオプション、つまりソースと変換先を含むデータ フローを使用してパッケージを作成した場合の表示について説明します。
パッケージの実行が開始されると、アクティビティとこれまでに処理された行数を示す黄色の回転ホイールが表示されます。
パッケージの実行が完了すると、成功を示す緑色のチェック マークと、ソースから宛先に読み込まれたデータ行の合計数が表示されます。
これで、SQL Server Integration Services を使用して SQL Server または Azure SQL Database にデータを読み込むのに成功しました。
関連コンテンツ
- パッケージ開発 のトラブルシューティング ツール
- Integration Services (SSIS) プロジェクトとパッケージの配置