Share via


Integration Services プログラミングの概要

適用対象:SQL Server Azure Data Factory の SSIS Integration Runtime

SQL Server Integration Services のアーキテクチャでは、データの移動と変換がパッケージの制御フローと管理から分離されています。 このアーキテクチャを定義し、Integration Services のプログラムでの自動化および拡張を可能にする、次の 2 種類のエンジンがあります。 1 つはランタイム エンジンで、制御フローとパッケージ管理のインフラストラクチャを実装します。開発者は、このインフラストラクチャによって、実行フローを制御し、ログ記録、イベント ハンドラー、および変数用のオプションを設定できます。 もう 1 つはデータ フロー エンジンで、特殊でパフォーマンスの高いエンジンであり、データの抽出、変換、および読み込みを専門に行います。 Integration Services のプログラムの際には、これら 2 つのエンジンに対してプログラムを実行します。

次の図は、Integration Services のアーキテクチャを示しています。

Integration Services architecture.

Integration Services ランタイム エンジン

Integration Services ランタイム エンジンは、実行順序、ログ記録、変数、およびイベント処理を可能にするインフラストラクチャを実装することによって、パッケージの管理と実行を制御します。 Integration Services ランタイム エンジンをプログラミングすることにより、開発者はパッケージの作成、構成、および実行を自動化し、カスタム タスクやその他の拡張機能を作成できます。

詳細については、「スクリプト タスクによるパッケージの拡張」、「カスタム タスクの開発」、および「プログラムによるパッケージの作成」を参照してください。

Integration Services データ フロー エンジン

データ フロー エンジンは、データ フロー タスクを管理します。データ フロー タスクは特殊でパフォーマンスの高いタスクで、さまざまなソースからのデータの移動および変換を専門に行います。 他のタスクと異なり、データ フロー タスクには、変換元、変換、変換先のいずれかになるデータ フロー コンポーネントと呼ばれるオブジェクトが追加で含まれています。 これらのコンポーネントはタスクの主要な稼働部分で、 データの移動および変換を定義します。 データ フロー エンジンをプログラムすることにより、開発者はデータ フロー タスク内のコンポーネントの作成および構成を自動化し、カスタム コンポーネントを作成できます。

詳細については、「スクリプト コンポーネントによるデータ フローの拡張」、「カスタム データ フロー コンポーネントの開発」、および「プログラムによるパッケージの作成」を参照してください。

サポートされている言語

Integration Services では、Microsoft .NET Framework が完全にサポートされています。 開発者は、.NET 準拠の言語から選択して Integration Services をプログラムできます。 ランタイム エンジンもデータ フロー エンジンも、ネイティブ コードで記述されますが、フル マネージドのオブジェクト モデルを介して使用できます。

Integration Services パッケージ、カスタム タスク、およびコンポーネントは、Microsoft Visual Studio または別のコード エディターやテキスト エディターでプログラミングできます。 Visual Studio には、コーディング、デバッグ、およびテストの反復的なサイクルを簡略化および高速化する多数のツールや機能が開発者向けに用意されています。 また、Visual Studio を使用すると、配置も容易になります。 ただし、Visual Studio コード プロジェクトのコンパイルと構築に Integration Services は必要ありません。 .NET Framework SDK には、Visual Basic および C# コンパイラと関連ツールが含まれています。

重要

既定では、.NET Framework は SQL Server と共にインストールされますが、.NET Framework SDK はインストールされません。 SDK がコンピューターにインストールされておらず、SDK ドキュメントがオンライン ブック コレクションにも含まれていない場合、このセクションの SDK コンテンツへのリンクは機能しません。 .NET Framework SDK をインストールしたら、「SQL Server の製品ドキュメントの追加または削除」の手順に従って、SDK ドキュメントをオンライン ブック コレクションと目次に追加できます。

Integration Services スクリプト タスクおよびスクリプト コンポーネントでは、Microsoft Visual Studio Tools for Applications (VSTA) が埋め込みスクリプト環境として使用されます。 VSTA による Microsoft Visual Basic および Microsoft Visual C# のサポート

Note

Integration Services アプリケーション プログラミング インターフェイスは、VBScript などの COM ベースのスクリプト言語と互換性がありません。

アセンブリの検索

SQL Server 2019 (15.x)では、 Integration Services アセンブリが .NET 4 にアップグレードされました。 *\<drive>*:\Windows\Microsoft.NET\assembly に、.NET 4 用の別のグローバル アセンブリ キャッシュが用意されています。 すべての Integration Services アセンブリは、通常、このパスの GAC_MSIL フォルダーにあります。

以前のバージョンの SQL Server と同様に、Integration Services のコア機能拡張 .dll ファイルは *\<drive>*:\Program Files\Microsoft SQL Server\\\<nnn>\SDK\Assemblies にあります。 <nnn> は、SQL Server 共有ファイルの場所のバージョンを識別します。

通常使用されるアセンブリ

次の表は、Integration Services を使用する .NET Framework をプログラムするときに頻繁に使用されるアセンブリの一覧です。

アセンブリ 説明
Microsoft.SqlServer.ManagedDTS.dll マネージド ランタイム エンジンが含まれています。
Microsoft.SqlServer.RuntimeWrapper.dll ネイティブ ランタイム エンジン用のプライマリ相互運用機能アセンブリ (PIA)、つまりラッパーが含まれています。
Microsoft.SqlServer.PipelineHost.dll マネージド データ フロー エンジンが含まれています。
Microsoft.SqlServer.PipelineWrapper.dll ネイティブ データ フロー エンジン用のプライマリ相互運用機能アセンブリ (PIA)、つまりラッパーが含まれています。