web-dev-qa-db-ja.com

SQL Serverとの関係でSSISとは何ですか?

'SSIS'、 'SSDT'などの頭字語がSQL Serverとどのように関連しているかについて少し混乱しています。 SQL ServerはT-SQL言語を実装しており、「SSIS」などのパッケージはT-SQL言語のサードパーティの「ラッパー」であり、SQL Serverへのプラグインであるように思えます。これは正しいです?

このブログ投稿( ここ )では、SSISとT-SQLの利点について触れています(そのため、SSISはT-SQLのラッパーであると想定しています)。また、SSISパッケージとして作成されたジョブは、SSMSのSQL Serverエージェントの下にあることがわかります。

3
Zach Smith

SSIS(SQL Server Information Services)は、Microsoft SQL Serverのfirst-party(Microsoft)コンポーネント/プラットフォームです。これはアドオン製品ではなく、SQLサーバーのインストール時にコンポーネントを含めるオプションが提供されます。

T-SQLのラッパーとは考えないでください。Tを実行するの場所と考えてください。 -SQL(そして他のあらゆる種類の非常に便利なことを行います)。

(SSISは、SQL 2000以前のDTS(Data Transformation Services)の後継/置き換えです)。

SSISを使用するには、「パッケージ」を作成します。これは、dtsx拡張子が付いたスタンドアロンファイルです。パッケージは、MS Visual Studioのカスタマイズバージョン(以前はBIDSと呼ばれていました)のSSDT(SQL Server Data Tools)で作成します。

SSISパッケージは、SQLエージェントジョブから直接呼び出すことにより、任意のSQLサーバーで実行できます。また、SSISサーバーコンポーネントがインストールされている別のサーバーで実行したり、SSDTまたは「SSISパッケージ実行ユーティリティ」を使用して開発ワークステーションから実行したりすることもできます。

これは典型的な使用例です:

SQLエージェントを使用すると、スケジュールされたジョブを作成できます。このジョブでは、いくつかのT-SQLコードを実行して、データベースのメンテナンスなどを実行できます。 T-SQLコードをステップ詳細ウィンドウに貼り付け、ジョブスケジュールを設定すれば、準備は完了です。

しかし、通常T-SQLで試行するよりも複雑なことを行う必要がある場合はどうでしょうか。それとも、T-SQLがまったくできないことですか?

SSISを使用すると、T-SQLを実行できますが、他の多くのことも実行できます。

  1. インポート/エクスポートまたはその他の操作のために、複数のSQLサーバー(またはその他のODBCソース))への接続を簡単に管理
  2. 高性能のデータフローと変換を作成します(可能な限り高速な一括インポート、列ルックアップ、堅牢なエラー処理(失敗した行を別のデータセットまたは宛先テーブルにパイプするなど))
  3. 真に並列なタスクを起動できる分岐フローをサポートします。これは、通常T-SQLを使用しては不可能です。
  4. より高度なロジックのために他のスクリプト/コード言語をサポートします
  5. オブジェクトをループするための簡単なメカニズム
  6. 詳細なエラーログおよび/またはパッケージ進行ログ
  7. 他の多くのクールなもの。

したがって、他の2つのSQLサーバー、1つのOracleインスタンス、および5つのテキストファイルからデータをインポートして検証し、ビジネスルールごとにデータを処理する、より高度な「夜間データ処理」SSISパッケージを作成し、すべて並列処理を使用してデータを処理します。複数のCPUコア。次に、T-SQLコードではなく、ジョブステップからthatを呼び出します。

注:SSISのServer Componentのインストールは厳密には必要ありません。これは、SSISパッケージを保存および管理するツール、または(必要に応じて)SSISを実行するツールです専用ホスト上のパッケージ。

[〜#〜] edit [〜#〜]:SSDTは、SSISパッケージの作成と編集に使用されるツールです(ありがとう、@ JonathanFite!)。基本的には、MS Visual Studioのカスタマイズバージョンです。以前はBIDS(Business Intelligence Design Studio)と呼ばれていました。

5
BradC

SSISとSSDTはどちらもMicrosoft製品(コンポーネント)です。 3つのリンクを追加したのは、これらがこれらのコンポーネントを私よりもよく説明しているためです。

SQL Server Integration Services(SSIS)

Microsoft Integration Servicesは、エンタープライズレベルのデータ統合およびデータ変換ソリューションを構築するためのプラットフォームです。 Integration Servicesを使用して、ファイルのコピーまたはダウンロード、イベントへの応答としての電子メールメッセージの送信、データウェアハウスの更新、データのクリーニングとマイニング、およびSQL Serverオブジェクトとデータの管理によって、複雑なビジネス問題を解決します。パッケージは単独で、または他のパッケージと連携して動作し、複雑なビジネスニーズに対応できます。 Integration Servicesは、XMLデータファイル、フラットファイル、リレーショナルデータソースなどのさまざまなソースからデータを抽出して変換し、データを1つ以上の宛先にロードできます。

Integration Servicesには、組み込みのタスクと変換の豊富なセットが含まれています。パッケージを構築するためのツール。パッケージを実行および管理するためのIntegration Servicesサービス。グラフィカルなIntegration Servicesツールを使用すると、コードを1行も書かずにソリューションを作成できます。または、広範なIntegration Servicesオブジェクトモデルをプログラムして、パッケージをプログラムで作成し、カスタムタスクやその他のパッケージオブジェクトをコーディングすることもできます。

SQL Serverデータツール(SSDT)

SQL Serverデータツール(SSDT)は、Visual Studio内のデータベース開発のすべてのフェーズにまたがるユビキタスな宣言型モデルを導入することにより、データベース開発を変革します。 SSDT Transact-SQL設計機能を使用して、データベースを構築、デバッグ、保守、およびリファクタリングできます。データベースプロジェクトを操作したり、接続されたデータベースインスタンスをオンプレミスまたはオフプレミスで直接操作したりできます。開発者は、使い慣れたVisual Studioツールを使用してデータベースを開発できます。コードナビゲーション、IntelliSense、C#およびVisual Basicで利用可能な言語サポート、プラットフォーム固有の検証、デバッグ、およびTransact-SQLエディターでの宣言型編集などのツール。 SSDTは、データベースプロジェクトまたは接続されたデータベースインスタンスのいずれかでテーブルを作成および編集するための視覚的なテーブルデザイナーも提供します。チームベースの環境でデータベースプロジェクトに取り組んでいる間、すべてのファイルに対してバージョン管理を使用できます。プロジェクトを公開するときは、サポートされているすべてのSQLプラットフォームに公開できます。 SQLデータベースとSQLサーバーを含みます。 SSDTプラットフォーム検証機能により、指定したターゲットでスクリプトが機能することが保証されます。

SSDTとは何か ブログ .

2
SqlWorldWide