# Microsoft SQL Server Integration Services (SSIS) (リポジトリーサーバー) - インポート

Availability-note[AWS](https://help.talend.com/r/en-US/Cloud/labels-on-talend-help-center/availability-aws)

AWS 専用機能は us.cloud.talend.com、eu.cloud.talend.com、ap.cloud.talend.com で利用できます。

## ブリッジの要件

このブリッジ:

* Microsoft Windowsではサポートされていません。

* そのSDKにアクセスするためにはツールのインストールが必要です。

## ブリッジの仕様

| **ベンダー** | **Microsoft** |
| --- | --- |
| **ツール名** | **SQL Server Integration Services (SSIS)** |
| **ツールバージョン** | **9.0 (2005)〜16.x (2022)** |
| **ツールの Web サイト** | https://docs.microsoft.com/en-us/sql/integration-services/ (英語のみ) |
| **サポートされている方法論** | [データ統合] マルチモデル、メタデータリポジトリー、 ETL (ソースとターゲットのデータストア、変換来歴、式解析) .Net API経由の |
| **データプロファイリング** | ![](https://help.qlik.com/talend/ja-JP/talend-data-catalog/8.1/Content/Resources/images/cross.png) |
| **増分収集** | ![](https://help.qlik.com/talend/ja-JP/talend-data-catalog/8.1/Content/Resources/images/cross.png) |
| **マルチモデル収集** | ![](https://help.qlik.com/talend/ja-JP/talend-data-catalog/8.1/Content/Resources/images/tick.png) |
| **モデル選択のためのリモート リポジトリーの参照** | ![](https://help.qlik.com/talend/ja-JP/talend-data-catalog/8.1/Content/Resources/images/tick.png) |

**仕様**  
**ツール:** .Net API経由のMicrosoft / SQL Server Integration Services (SSIS)バージョン9.0 (2005)〜16x (2022)  
https://docs.microsoft.com/en-us/sql/integration-services/をご覧ください。  
**メタデータ:** [データ統合] マルチモデル、メタデータリポジトリー、 ETL (ソースとターゲットのデータストア、変換来歴、式解析)  
**コンポーネント:** MicrosoftSqlServerRepositoryIsバージョン11.2.0  
  
**概要**  
このブリッジは、SQL Server SDK APIを使い、対応するSQL ServerリポジトリーからSSISパッケージをインポートします。  
  
**要件**  
このブリッジがSQL Serverリポジトリーに接続してインポートするためには、SQL Server Clientコンポーネントが正しくインストールされ、該当するサービスがローカルまたはローカルネットワークで実行されていることを確認する必要があります。ブリッジはWindows認証を使ってIntegration Servicesに接続します。インポートしたいオブジェクトに対して適切な権限を持つユーザーとして、アプリケーションがWindowsドメインにログインしていることをご確認ください。  
  
**よくある質問**  
**Q: SSISパッケージのカラム名で大文字と小文字を区別しないようにすることは可能ですか?**  
A: ETLブリッジは、データベースのタイプとそのルールに応じて、すべての機能を「そのまま」インポートします。データベースブリッジは、必要であれば大文字と小文字を区別するフラグを設定します。スティッチャーは、名前が異なるケースであってもスティッチが可能です。  
  
**制限事項**  
現在判明している一般的な制限事項は、https://metaintegration.com/Products/MIMB/Help/#!Documents/mimbknownlimitations.htmlをご覧ください。  
  
**サポート**  
デバッグログを伴うトラブルシューティングパッケージを提供します。デバッグログは、UIかconf/conf.propertiesでMIR\_LOG\_LEVEL=6を使って設定できます。

## ブリッジパラメーター

| **パラメーター名** | **説明** | **タイプ** | **値** | **デフォルト** | **スコープ** |
| --- | --- | --- | --- | --- | --- |
| **ホスト** | SQL Server ISが実行されているホスト名またはIPアドレス。 | STRING |  | localhost | 必須 |
| **パッケージ** | 処理中のSQL Server Integration Serviceのプロジェクト名。 | REPOSITORY\_SUBSET |  | /\* | 必須 |
| **パスワード** | 保護されたパッケージ用のパスワードの値です。 | パスワード |  |  |  |
| **変数値ファイル** | MICROSOFT SQL SERVERは設定オーバーライド<br>SSISのパラメーターや変数のオーバーライドを定義するファイルです。<br><br>SSISはプロジェクトとパッケージレベルのパラメーター(および変数)をサポートしています。ブリッジはこれらのパラメーターを理解して来歴構築に使用し、2005年以降のSSISバージョンで生成されたパラメーターをサポートします。<br><br>各定義は名前と値のペアで構成されています(例: param\_name=param\_value\_verride)。<br>それぞれの名前にそのNAMESPACEのプレフィックスが付いている必要があります。例:<br><br>$Project::project\_parameter\_1=global\_override\_1<br><br>$Package::package\_parameter\_1=global\_override\_2<br><br>User::user\_variable\_1=global\_override\_3<br><br>System::system\_variable\_1=global\_override\_4<br><br>設定ペアはROOT (ファイルの先頭)で設定するか、CONTEXT ([Project:project\_name.]package\_name[.task\_name])によって区切られます。例:<br>$Project::project\_parameter\_1=global\_override\_1 // ROOT override<br><br>[PackageName]<br>$Project::project\_parameter\_1=global\_override\_2 // package specific override<br><br>[PackageName.TaskName]<br>User::task\_variable\_1=global\_override\_3 // task specific override<br><br>マルチプロジェクトインポートの場合、CONTEXTはプロジェクトプレフィックスを必要とします。例:<br>$Project::project\_parameter\_1=global\_override\_1 // ROOT、全プロジェクトのオーバーライド<br><br>[Project:Project\_1]<br>$Project::project\_parameter\_1=global\_override\_2 // project "Project\_1" 特定のオーバーライド<br><br>[Project:Project\_1.PackageName.TaskName]<br>$Project::project\_parameter\_1=global\_override\_3 // project "Project\_1" パッケージとタスクの特定オーバーライド<br><br>[Project:Project\_2.PackageName]<br>$Project::project\_parameter\_1=global\_override\_4 // project "Project\_2" パッケージ特定のオーバーライド<br><br>SSISがSQLステートメントで(正しいデフォルト値を使用せずに)変数を用いる場合は、このパラメーターの使用を検討してください。ブリッジがSQLステートメントを通じて来歴を理解するのに役立ちます。<br><br>同じ変数が同一のコンテキストで複数回定義されている場合は、最新の定義が使われます。ただし、同じ変数が[Package]と[Package.Task]の両方のコンテキストで定義されている場合は、高い方のレベルのコンテキストにある定義(つまり[Package.Task])が使われます。<br><br>変数名では大文字と小文字が区別されます。このファイルの値は、SSISで定義されたデフォルトの変数値がある場合はそれをオーバーライドします。 | STRING |  |  |  |
| **Miscellaneous** | **はじめに**<br>ダッシュで始まるMiscellaneousオプションを指定し、必要であればその後にパラメーターを追加できます。例:<br>- connection.cast MyDatabase1="MICROSOFT SQL SERVER"<br>該当する場合は複数回使用できるオプションもあります。例:<br>- connection.rename NewConnection1=OldConnection1 -connection.rename NewConnection2=OldConnection2;<br>オプションのリストは長い文字列になるため、${MODEL\_BRIDGE\_HOME}\data\MIMB\parametersにあり拡張子が.txtであるファイルからロードすることもできます。その場合、オプションはすべて、このパラメーターの唯一の値としてそのファイル内で定義されることが必要です。例:<br>ETL/Miscellaneous.txt<br><br>**JAVA環境のオプション**<br>**-java.memory &lt;Javaメモリの最大サイズ&gt; (以前の-m)**<br>64ビットJREではデフォルトで1G、またはconf/conf.properties内の設定に従います。例:<br>-java.memory 8G<br>-java.memory 8000M<br><br>**-java.parameters &lt;Javaランタイム環境コマンドラインオプション&gt; (以前の-j)**<br><br>-java.parameters -Dname=value -Xms1G<br>のように、-java.parametersの後ろのテキストはすべてそのままJREに渡されるため、このオプションはMiscellaneousパラメーター内の最後に来る必要があります。インターネットへのアクセスにプロキシを使用している場合は、必要なサードパーティのソフトウェアライブラリーをダウンロードできるよう、次のオプションを設定する必要があります(このオプションはhttps://repo.maven.apache.org/maven2/にアクセスするため、そして例外的にいくつかの他のツールサイトにアクセスするために不可欠です)。<br>注: プロキシは、(会社の)外部トラフィックをHTTPSで暗号化しながら、HTTPでプロキシにアクセスできる内部トラフィックを信頼しているものがほとんどです。この場合、HTTPSリクエストはHTTPでプロキシに到達し、プロキシはそれをHTTPSで暗号化します。<br>-java.parameters -java.parameters -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128 -Dhttp.proxyUser=user -Dhttp.proxyPassword=pass<br><br>**モデルインポートのオプション**<br>**-model.name &lt;モデル名&gt;**<br>モデル名をオーバーライドをオーバーライドします。例:<br>-model.name "My Model Name"<br><br>**-prescript &lt;スクリプト名&gt;**<br>このオプションによって、ブリッジの実行前にスクリプトを実行できるようになります。<br>スクリプトはbinディレクトリー(またはconf/conf.propertiesのM\_SCRIPT\_PATHで指定)にあり、拡張子が.batか.shであることが必要です。<br>スクリプトのパスに親ディレクトリーの記号( .. )を含めることはできません。<br>スクリプトは、成功した場合は終了コードである0を、失敗した場合は別の値を返します。<br>例:<br>-prescript "script.bat arg1 arg2"<br><br>**-postscript &lt;スクリプト名&gt;**<br>このオプションによって、ブリッジが正しく実行された後にスクリプトを実行できるようになります。<br>スクリプトはbinディレクトリー(またはconf/conf.propertiesのM\_SCRIPT\_PATHで指定)にあり、拡張子が.batか.shであることが必要です。<br>スクリプトのパスに親ディレクトリーの記号( .. )を含めることはできません。<br>スクリプトは、成功した場合は終了コードである0を、失敗した場合は別の値を返します。<br>例:<br>-postscript "script.bat arg1 arg2"<br><br>**-cache.clear**<br>インポート前にキャッシュをクリアするため、増分収集せずにフルインポートを実行します。<br><br>モデルが変更されず、-cache.clearパラメーターが使われていない場合(増分収集)、新しいバージョンは作成されません。<br>モデルが変更されず、-cache.clearパラメーターが設定されている場合(増分ではなくフルソースインポート)、新しいバージョンが作成されます。<br><br>**-backup &lt;directory&gt;**<br>さらなるトラブルシューティングのため、入力メタデータを保存できるようにします。指定された&lt;directory&gt;は空であることが必要です。<br><br>**-restore &lt;ディレクトリー&gt;**<br>復元するバックアップ&lt;ディレクトリー&gt;を指定します。<br><br>**データ接続オプション**<br>使用するソースとターゲットのデータストアを参照するよう、通常はETL/DIツールとBIツールのインポートブリッジによってデータ接続が生成されます。これらのデータ接続はメタデータ管理ツールによって実際のデータストア(データベースやファイルシステムなど)への接続(メタデータスティッチング)に使われ、完全なエンドツーエンドのデータフローの来歴とインパクト分析が行われます。各データ接続の名前はインポートモデルごとに一意です。DI/BIデザインツールで使われているデータ接続名を可能な限り使用します。そうでない場合は、データベース/スキーマ名、ファイルシステムのパス、Uniform Resource Identifier (URI)など、短くても意味のある接続名が生成されます。次のオプションを使えば、接続を操作できます。これらのオプションによって、レガシーオプションである-c、-cd、-csが置き換えられます。<br><br>**-connection.cast ConnectionName=ConnectionType**<br>SQL解析のためにジェネリックデータベース接続(ODBCやJDBCなど)を正確なデータベースタイプ(ORACLEなど)にキャストします。例:<br>-connection.cast "My Database"="MICROSOFT SQL SERVER"<br>サポートされているデータストア接続タイプのリストは次のとおりです。<br>ACCESS<br>APACHE CASSANDRA<br>DB2/UDB<br>DENODO<br>GOOGLE BIGQUERY<br>HIVE<br>MYSQL<br>NETEZZA<br>ORACLE<br>POSTGRESQL<br>PRESTO<br>REDSHIFT<br>SALESFORCE<br>SAP HANA<br>SNOWFLAKE<br>MICROSOFT SQL AZURE<br>MICROSOFT SQL SERVER<br>SYBASE SQL SERVER<br>SYBASE AS ENTERPRISE<br>TERADATA<br>VECTORWISE<br>HP VERTICA<br><br>**-connection.rename OldConnection=NewConnection**<br>既存の接続を新しい名前に変更します。例:<br>-connection.rename OldConnectionName=NewConnectionName<br>既存の複数のデータベース接続の名前を変更し、新しい1つのデータベース接続に統合できます。例:<br>-connection.rename MySchema1=MyDatabase -connection.rename MySchema2=MyDatabase<br><br>**-connection.split oldConnection.Schema1=newConnection**<br>データベース接続を1つまたは複数のデータベース接続に分割します。<br>1つのデータベース接続をスキーマごとの1つの接続に分割できます。例:<br>-connection.split MyDatabase<br>すべてのデータベース接続をスキーマごとの1つの接続に分割できます。例:<br>-connection.split \*<br>データベースにスキーマ名を追加することで、データベース接続を明示的に分割し、新しいデータベース接続を作成できます。例:<br>-connection.split MyDatabase.schema1=MySchema1<br><br>**-connection.map SourcePath=DestinationPath**<br>ソースパスをデスティネーションパスにマッピングします。これは、異なるパスが同じオブジェクト(ディレクトリーまたはファイル)をポイントしている場合にファイルシステム接続にとって便利です。<br>Hadoopでは、あるプロセスがHDFSの完全パスで指定されたCSVファイルに書き込む一方、別のプロセスが、デフォルトのファイル名と拡張子を持つ相対パスで指定されている同じファイルによって実装されたHiveテーブル(外部)から読み取ります。例:<br>-connection.map /user1/folder=hdfs://host:8020/users/user1/folder/file.csv<br>Linuxでは、/users/johnや/users/paulといった複数のシンボリックリンクによって、/dataのような特定のディレクトリー(またはファイル)が参照されます。例:<br>-connection.map /data=/users/John -connection.map /data=/users/paul<br>Windowsでは、M:やN:といった複数のネットワークドライブによって、C:\dataのような特定のディレクトリーが参照されます。例:<br>-connection.map C:\data=M:\ -connection.map C:\data=N:\<br><br>**-connection.casesensitive ConnectionName...**<br>検出されたデータストアのタイプがこの設定(Microsoft SQL ServerやMySqlなど)をサポートしている場合は、指定された接続内のオブジェクト識別子に対し、大文字と小文字を区別しないデフォルトのマッチングルールがオーバーライドされます。例:<br>-connection.casesensitive "My Database"<br><br>**-connection.caseinsensitive ConnectionName...**<br>検出されたデータストアのタイプがこの設定(Microsoft SQL ServerやMySqlなど)をサポートしている場合は、指定された接続内のオブジェクト識別子に対し、大文字と小文字を区別するデフォルトのマッチングルールがオーバーライドされます。例:<br>-connection.caseinsensitive "My Database"<br><br>**-connection.level AggregationLevel**<br>外部接続の集計レベルを指定します。例: -connection.level catalog<br>サポートされている値のリスト:<br>server<br>catalog<br>schema (デフォルト)<br><br>**ETLのオプション**<br>これらのオプションは、以下の目的ですべてのETL/DIツールとスクリプティングインポートブリッジで利用できます:<br>- SQL解析をすべて処理する<br>- デザインモデルとランタイム変数からランタイムモデルをビルドする<br>- ランタイムサマリー来歴を計算する<br><br>**-etl.summary.add.ultimate (以前は-ppus)**<br>最終的なランタイム来歴サマリーを追加します(非常に大きなモデルが生成される可能性があります)。<br><br>**-etl.summary.only.ultimate (以前の-ppsp)**<br>最終的なランタイム来歴サマリーのみ生成します(非常に大きなモデルが生成される可能性があります)。<br><br>**-etl.connections.add.internal.design (以前の-pppd)**<br>内部ETLデザインデータコネクター(ETL変換に必要)を追加します。<br><br>**-etl.connections.remove.input (以前の-ri)**<br>生成されるモデルのサイズ縮小のため、入力(ソース)データ接続をすべて削除します。<br><br>**-etl.transformations.enable.xml**<br>このオプションによって、DI/ETLインポートブリッジ(Informatica PowerCenter、Informatica Developer、Microsoft SSIS、IBM DataStage、Talend Data Integration など)でのXML変換の解析とサポートが有効になります。<br>Informatica の場合、そのような XML 変換は次の PowerCenter の機能に相当します。<br>https://docs.informatica.com/data-integration/powercenter/10-5/xml-guide/midstream-xml-transformations.html<br>https://docs.informatica.com/data-integration/powercenter/10-5/xml-guide/xml-source-qualifier-transformation.html<br>ただし、このオプションはインポートの速度を著しく低下させる可能性がありますのでご注意ください。<br><br>**-library.packageId**<br>Microsoft.SqlServer.ManagedDTS.dll を使って NuGet パッケージの packageId を指定します。<br>デフォルト値は「SQLServer.SMO.2016」です。<br><br>**-library.version**<br>Microsoft.SqlServer.ManagedDTS.dll を使って NuGet パッケージのバージョンを指定します。<br>デフォルト値は「13.0.0.2」です。<br><br>**-library.filter**<br>NuGet パッケージ内の DLL のフィルターを指定します。宛先には「Microsoft.SqlServer.ManagedDTS.dll」が含まれている必要があります。<br>デフォルト値は「lib/net462/」です。<br><br>**その他のオプション**<br>**-s**<br>変換スクリプトの入力と出力間マッピングの外部指定を有効にします。この場合、入力は\_Script\_データベースのテーブルに行き、出力はこのデータベースのテーブルから取得されます。入力と出力間のマッピングリレーションシップは、テーブル間のマッピングを定義することで指定できます。<br>デフォルトでは、変換スクリプトにあるすべての出力に対してすべての入力がブリッジによって相互接続します。 | STRING |  |  |  |

## ブリッジのマッピング

| **Meta Integration Repository (MIR)<br>メタモデル<br>(OMG CWM標準に基づく)** | **"Microsoft SQL Server Integration Services (SSIS) (リポジトリーサーバー)"<br>メタモデル<br>MicrosoftSqlServerIs** | **マッピングのコメント** |
| --- | --- | --- |
|  |  |  |
| **属性** | **カラム** |  |
| 説明 | Column.Description |  |
| 名前 | Column.Name |  |
| **BaseType** | **SSISタイプ** |  |
| **クラス** | **テーブル** |  |
| 説明 | Table.Description |  |
| 名前 | Table.Name |  |
| **ClassifierMap** | **接続または変換出力リンク** |  |
| 説明 | 説明 |  |
| 名前 | 名前 |  |
| **DataAttribute** | **変換カラム** |  |
| 説明 | 説明 |  |
| 名前 | 名前 |  |
| **DataSet** | **出力/入力** |  |
| 説明 | 説明 |  |
| 名前 | 名前 |  |
| **DerivedType** | **ColumnType** |  |
| 名前 | データ型 |  |
| **DesignPackage** | **パッケージ** |  |
| 説明 | Package.Description |  |
| 名前 | Package.Name |  |
| **FeatureMap** | **入力/出力カラムlineageIdリンク** |  |
| 名前 | 名前 |  |
| **StoreModel** | **パッケージ** |  |