SQL Server Integration Services ( SSIS ) on Linux とは

Microsoft Japan Data Platform Tech Sales Team

坂本 禎尚

 

 

次期バージョンの SQL Server 2017 ではデータベース エンジンが Linux で動作するようになることを本ブログでも何度か取り上げてきましたが、本日はこれに続いて SQL Server Integration Services ( 以下、SSIS ) も Linux で動くようなることをご紹介します。

 

SSIS on Linux のリリース時期はまだはっきりとお伝えできませんが、2017/5/17 にリリースされた SQL Server 2017 CTP 2.1 から Ubuntu 向けのプレビュー版がリリースされて使えるようになっています。
ご興味のある方は是非こちらの手順を参考にインストールしてみて下さい。

 

初期リリース時の機能範囲 SSIS もデータベース エンジンと同様に SQLPAL 上で動作します。
Windows 版の SSIS でサポートされている全ての機能は初期リリースではサポートされない見込みですが、Windows 版で一般的によく使われる制御フローやデータ フローのタスクは使用できます。また、逆に Windows 版ではサポートされていない Linux ならではのデータソース等がサポートされる可能性が高そうです。
パッケージの実行には DTExec.exe が、パッケージの管理には DTUtils.exe といった Windows 版でもおなじみのツールは Linux 版の SSIS でも使用可能です。
Windows 版と Linux 版の差異等に関しては、今後詳細な情報が出てき次第、別途アップデートします。

 

開発の流れ
SSIS のパッケージを開発する為の GUI ツールである SQL Server Data Tools は少なくとも初期リリースではサポートされません。
DTExec.exe と DTUtils.exe が Linux でも使うことができ、これらから実行する形になる予定です。
したがって、おおまかな開発の流れは以下のようになると思います。

1. パッケージの開発は Windows 上で SQL Server Data Tools を使って行う。
2. 開発したパッケージを SSIS on Linux 環境にデプロイする。デプロイ時に必要に応じて、DTUtils.exe を使用する。
3. パッケージの実行は、DTExcec.exe を使う。

 

プレビュー版 SSIS のインストールと動作確認テスト
インストール、およびパッケージの実行についてはこちらのブログを参考にして頂くとして、私は以下の環境および設定でテストしました。

ー Ubuntu のバージョンは 16.04.2 LTS
ー パッケージのプロパティの「ProtectionLevel」は、既定の”EncryptSensitiveWithUserKey”ではなく、”EncryptAllWithPassword”に変更し、「PackagePassword」に任意のパスワードをセットした状態であらかじめ作っておき、DTExec.exe で実行する際に引数を与えてこれを解除するようにしています。(下図)
SSIS on Linux