SSIS初心者向けチュートリアル: Archi構造、パッケージ、コンポーネント

⚡ スマートサマリー

SQL Server Integration Services (SSIS) は、 Microsoft SQL Server データ統合およびワークフローソリューションの構築に使用され、trac多様なソースと宛先間でデータを移動およびクレンジングするための、ETL(処理、変換、ロード)技術。

  • 🔄 ETLエンジン: SSIS 元tracSQL Server、Excelなどのソースからのtsデータ、 OracleそしてDB2はそれを変換し、宛先にロードします。
  • 🧠 制御フロー: 制御フローはパッケージの頭脳であり、優先順位制約に基づいてコンテナとタスクの順序を決定します。
  • ❤️ データフロー: データフローはSSISの中核であり、メモリ内でソース、変換、および宛先を介して行を移動させます。
  • 📦 パッケージ: パッケージは、実行されるタスクをグループ化し、.dtsx ファイルとして SQL Server またはファイルシステムに保存します。
  • 🧩 タスク: SQL実行、データフロー、ファイルシステム、FTP、送信などの事前構築済みタスク Mail ドラッグ&ドロップで設定できます。
  • ⚡ メリット: SSISは、データの読み込みを自動化し、データをクリーンアップおよび標準化し、堅牢なエラー処理とイベント処理機能を提供します。

SQL Server Integration Services (SSIS):アーキテクチャ、パッケージ、タスク、およびETLワークフロー

SSIS とは何ですか?

SQL Server Integration Services (SSIS) は、 Microsoft SQL Server 幅広いデータ移行タスクを実行できるデータベースソフトウェア。SSISは高速で柔軟性があります。 データウェアハウジング データに使用されるツールtracデータのクリーニング、集約、マージなどの処理、ロード、変換。

SSIS は、あるデータベースから別のデータベースへデータを簡単に移動できます。tracSQL Server データベース、Excel ファイルなど、さまざまなソースからのデータ、 Oracle DB2データベースなど。

SSISには、電子メールの送信、FTP操作、データソースとデータ宛先の構成など、ワークフロー機能を実行するためのグラフィカルツールとウィザードも含まれています。

SSIS を使用する理由

SSISツールを使用する主な理由は以下のとおりです。

  • SSISは、さまざまなデータストアからのデータを統合するのに役立ちます。
  • 管理機能とデータ読み込みを自動化します。
  • データマートやデータウェアハウスにデータを格納する。
  • データのクリーンアップと標準化に役立ちます。
  • これは、データ変換プロセスにBI(ビジネスインテリジェンス)を組み込むものです。
  • SSISには、ユーザーが大規模なプログラムを作成する代わりに、データを簡単に変換できるGUIが含まれています。
  • わずか数分で、あるデータソースから別のデータソースへ数百万行のデータを読み込むことができます。
  • データ変更を識別、取得、処理します。
  • データ保守、処理、分析を調整する役割を担います。
  • SSISは、高度なプログラミングスキルを持つ人材の必要性を排除します。
  • SSISは、堅牢なエラー処理およびイベント処理機能を提供します。

SSISの歴史

SSIS 以前は、SQL Server 7 および 2000 に含まれていた SQL Server Data Transformation Services (DTS) が使用されていました。以下の表をご覧ください。 tracSQL Serverの各リリースがツールをどのように形作ってきたかを見てみましょう。

Detail
SQL Serverの2005 その Microsoft チームはDTSを刷新することを決定した。しかし、DTSを更新する代わりに、製品名をIntegration Services(SSIS)とすることにした。
SQL Serverの2008 SSIS のパフォーマンスが大幅に向上しました。 新しいソースも紹介されました。
SQL Serverの2012 これはSSISにとって最大のリリースでした。このバージョンでは、プロジェクト展開モデルが導入されました。これにより、特定のパッケージの代わりに、プロジェクト全体とそのパッケージをサーバーに展開できるようになりました。
SQL Serverの2014 このバージョンでは、SSIS に対して大きな変更は加えられていません。しかし、新しいソースと変換が追加され、それは個別のダウンロードによって行われました。 CodePlex または SQL Server 機能パック。
SQL Serverの2016 増分パッケージ展開が追加され、既存のプロジェクトに単一のパッケージをプッシュできるようになりました。SSISDB カタログは、Always On 可用性グループのサポート、カスタムログレベル、およびエラー列名を獲得しました。追加のクラウドおよびビッグデータソースが、 Azure 機能パック。
SQL Serverの2017 スケールアウトが導入され、単一のマスターから管理される複数のワーカーマシンにパッケージの実行が分散されるようになりました。SSISは初めてLinux上でも実行できるようになり、パッケージはSSISDBにデプロイできるようになりました。 Azure SQLデータベース上で実行され、 Azure-SSIS統合ランタイム Azure データファクトリー。
SQL Serverの2019 クラウドファイル処理に焦点を当てた静かなリリース。フレキシブルファイルタスクとフレキシブルファイルソース/デスティネーションにより、ファイルをより簡単に操作できるようになりました。 Azure Avro、ORC、Parquet フォーマットを含むストレージ (これらには Java ランタイム)。
SQL Serverの2022 基本的に新しいSSIS機能はありません。エンジンは変更されずに引き継がれ、 Microsoftのデータ統合への投資は Azure データファクトリー、そして後に、 Microsoft ファブリック。
SQL Serverの2025 リリース日 Microsoft 2025年11月にIgniteがリリースされます。主な追加機能は、最新のADO.NET接続マネージャーです。 Microsoft.Data.SqlClient プロバイダー、TLS 1.3 と Microsoft Entra ID認証。今回のリリースでは、Attunity CDCコンポーネント、Hadoopタスク、SSISパッケージストア、従来のIntegration Servicesサービス、および32ビット実行モードなど、多くの機能が削除または非推奨となります。

SSIS の主な機能

SSISの重要な機能をいくつかご紹介します。

  • スタジオ環境
  • 関連するデータ統合機能
  • 効果的な実装速度
  • 他のものとの緊密な統合 Microsoft SQLファミリー
  • データマイニングクエリ変換
  • あいまい検索とグループping 変換
  • タームエクスtrac変換と用語検索変換
  • より高速なデータ接続コンポーネント、例えば、 SAP or Oracle

SSIS Archi構造

以下の図は、SSISの主要コンポーネントが、制御フローからパラメーターに至るまでどのように連携しているかを示しています。

SSISアーキテクチャ図:制御フロー、データフロー、イベントハンドラー、パッケージエクスプローラー、パラメーター

SSISアーキテクチャの構成要素は以下のとおりです。

  • 制御フロー(コンテナとタスクを格納)
  • データフロー(ソース、宛先、変換)
  • イベントハンドラー(メッセージ、メールの送信)
  • パッケージエクスプローラー(パッケージ内のすべての要素を単一のビューで表示します)
  • パラメータ(ユーザー操作)

各構成要素を詳しく見ていきましょう。

1. 制御フロー

コントロールフローはSSISパッケージの中核となる部分です。パッケージ内のすべてのコンポーネントの実行順序を制御するのに役立ちます。コンポーネントはコンテナとタスクで構成され、これらは優先順位制約によって管理されます。

2. 優先順位の制約

優先順位制約は、タスクをあらかじめ定義された順序で実行するように指示するパッケージコンポーネントです。また、SSIS パッケージ全体のワークフローも定義します。優先順位制約は、特別な式を使用して定義されたビジネスルールに基づいて、前のタスクの結果に基づいて次のタスクを実行することで、リンクされた 2 つのタスクの実行を制御します。

3.タスク

「タスク」とは、個々の作業単位のことです。プログラミング言語で使用されるメソッドや関数に相当します。ただし、SSISではコーディングは使用しません。代わりに、デザイン画面上でドラッグ&ドロップ操作によってタスクを設定します。

4.コンテナ

コンテナはグループ用の単位ですping タスクをまとめて作業単位にします。視覚的な一貫性を提供するだけでなく、特定のコンテナのスコープ内で有効な変数やイベントハンドラを宣言することもできます。

SSISにおけるコンテナの種類は以下の3つです。

  • シーケンスコンテナ
  • forループコンテナ
  • Foreach ループ コンテナー

シーケンスコンテナ: 補助タスクをグループ別に整理できますping それらを使用すると、トランザクションを適用したり、コンテナにログを割り当てたりすることができます。

forループコンテナ: は、タスクを複数回実行できる点を除いて、シーケンスコンテナと同じ機能を提供します。ただし、これは、loo のような評価条件に基づいています。ping 1から100します。

Foreachループコンテナ: また、トイレも許可しますping違いは、条件式を使用する代わりに、ping これは、フォルダ内のファイルなど、一連のオブジェクトに対して行われます。

5. データの流れ

SSISツールの主な用途は、tracデータをサーバーのメモリに読み込み、変換し、別の場所に書き込みます。制御フローが脳だとすれば、データフローはSSISの心臓部です。

6. SSIS パッケージ

SSISのもう一つの重要な構成要素は、パッケージという概念です。パッケージとは、順序立てて実行されるタスクの集合体です。ここで、優先順位制約は、タスクの実行順序を管理するのに役立ちます。

パッケージは、msdb またはパッケージ カタログ データベースにファイルを SQL Server に保存できます。.dtsx ファイルとして保存できます。.dtsx は、.rdl ファイルが関連付けられる方法と非常によく似た構造化ファイルです。 レポーティングサービス以下の図は、.dtsx ファイルとして保存された SSIS パッケージを示しています。

SSISパッケージは.dtsxファイルとして保存され、SQL Serverまたはファイルシステムに保存されます。

7。 パラメーター

パラメータは変数とよく似た動作をしますが、いくつかの重要な例外があります。パラメータはパッケージの外部から簡単に設定できます。また、パッケージの起動時に必ず渡さなければならない値として指定することもできます。

SSIS タスクの種類

SSISツールでは、コントロールフローにタスクを追加できます。タスクにはさまざまな種類があり、それぞれ異なる作業を実行します。以下に、重要なSSISタスクをいくつか示します。

タスク名 詳細説明
SQLタスクの実行 その名の通り、リレーショナルデータベースに対してSQL文を実行します。
データフロータスク このタスクは、1つまたは複数のソースからデータを読み込み、メモリ内でデータを変換し、1つまたは複数の宛先に書き出すことができます。
Analysis Services 処理タスク このタスクを使用して、表形式モデルまたはSSASキューブのオブジェクトを処理します。
パッケージタスクの実行 このSSISタスクを使用すると、同じプロジェクト内の他のパッケージを実行できます。
プロセスタスクの実行 このタスクを使用すると、コマンドラインパラメータを指定できます。
ファイルシステムタスク ファイルシステム内で、ファイルの移動、名前変更、削除、ディレクトリの作成といった操作を実行します。
FTPタスク これにより、基本的な FTP 機能を実行できます。
スクリプトタスク これは空欄のタスクです。実行したいタスクを何でも記述できる.NETコードを記述してください。
送信する Mail 仕事 パッケージの配送が完了したこと、または何らかのエラーが発生したことをユーザーに通知するために、メールを送信できます。
一括挿入タスク 一括挿入コマンドを使用すると、テーブルにデータを読み込むことができます。
スクリプトタスク のセットを実行します VB.NET またはC#コード Visual Studioの 環境。
Webサービスタスク Web サービス上のメソッドを実行します。
WMI イベント ウォッチャー タスク このタスクにより、SSIS パッケージは特定の WMI イベントを待機して応答できるようになります。
XMLタスク このタスクは、任意のXMLファイルを結合、分割、または再フォーマットするのに役立ちます。

その他の重要な ETL ツール

SSIS は、多くのtract-transform-loadプラットフォーム。その他の重要なETLツールには以下が含まれます。

  • SAP データサービス
  • SASデータ管理
  • Oracle ウェアハウス・ビルダー (OWB)
  • PowerCenter Informatica
  • IBM InfoSphere Information Server
  • データETLのElixirレパートリー
  • Sagentデータフロー

SSISを使用する利点

SSISツールには、以下の利点があります。

  • 幅広いドキュメントとサポート
  • 導入の容易さとスピード
  • SQL ServerおよびVisual Studioとの緊密な統合
  • 標準化されたデータ統合
  • リアルタイムのメッセージベースの機能を提供します
  • 流通モデルのサポート
  • SSISによるSQL Serverへのデータ挿入におけるネットワークのボトルネックを解消するのに役立ちます。
  • OLE DB の代わりに SQL Server 宛先を使用してデータをより高速にロードできます。

SSISのデメリット

SSISツールを使用する際のいくつかの欠点は以下のとおりです。

  • 非Windows 環境。
  • ビジョンと戦略が不明確。
  • SSISは、代替的なデータ統合スタイルをサポートしていません。
  • 他の製品との連携に問題がある場合があります。

SSIS のベスト プラクティスの例

いくつかのベストプラクティスを適用することで、SSISパッケージの高速性と保守性を維持できます。

  • SSISはインメモリパイプラインであるため、すべての変換処理がメモリ内で実行されるようにすることが重要です。
  • ログに記録される操作を最小限に抑えるようにしてください。
  • 資源利用状況を把握することで、キャパシティを計画する。
  • SQLルックアップ変換、データソース、および宛先を最適化する。
  • スケジュールを適切に設定し、配信してください。

よくあるご質問

ETLはExの略ですtract、変換、ロード。SSIS 例tracSQL Server、Excelなどのソースからのtsデータ、または Oracleメモリ上でデータをクリーンアップおよびマージして変換し、その結果を宛先データベースまたはファイルにロードします。

SSISは、SQL Serverに付属するオンプレミスのETLツールであり、メモリ内でデータを変換します。 Azure Data Factoryは、パイプラインをオーケストレーションし、ELTに重点を置いたクラウドデータ統合サービスです。既存のSSISパッケージも実行できます。 Azure SSIS統合ランタイムを介して。

.dtsx ファイルは、SSIS パッケージが保存される XML ファイルです。パッケージのタスク、制御フロー、データフロー、および接続情報が格納され、SQL Server、msdb データベース、またはファイルシステムにデプロイできます。

SSIS パッケージは、SQL Server Data Tools (SSDT) で構築されます。 Visual Studioの制御フローとデータフローをドラッグ&ドロップで設計できるため、ほとんどの作業で手書きのコードを書く必要がありません。

はい。SSIS は最新の SQL Server リリースに同梱されており、オンプレミスの ETL ツールとして広く利用されています。チームはまた、既存のパッケージをクラウド上で実行しています。 Azure-SSIS統合ランタイムに関する知識があるため、このスキルは依然として有効です。

これら3つはすべてSQL Serverサービスです。SSISはデータ統合とETLを処理します。 SSRS レポートを作成し、SSASはOLAPキューブと分析を提供します。これらは頻繁に一緒に使用されます。 Microsoft ビジネスインテリジェンススタック。

AIと機械学習は、ETLパイプラインがデータ品質の問題を自動検出し、ソースから宛先へのマップを提案するのに役立ちます。pings、パワーファジーマッチング、異常フラグなど。SSISでは、チームはスクリプトタスクを使用するか、データフロー中に外部AIサービスを呼び出すことでこれらを追加します。

Yes. GitHubコパイロット SSISスクリプトタスク内でVB.NETまたはC#コードを記述できるほか、SQL実行タスク用のSQLも記述できます。 Revパッケージに組み込む前に、各提案をよく確認してください。