# 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 で利用できます。

## ブリッジの要件

このブリッジ:

* ドライバーを&lt;TDC\_HOME&gt;/data/download/MIMB/にダウンロードするためには、https://repo.maven.apache.org/maven2/ やその他のツールサイトへのインターネットアクセスが必要です。

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

## ブリッジの仕様

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

**仕様**  
**ツール:** JDBC API経由のMicrosoft / SQL Server Integration Services (SSIS)バージョン11.0 (2012)～15.x (2019)  
https://docs.microsoft.com/en-us/sql/integration-services/をご覧ください  
**メタデータ:** [データ統合] マルチモデル、メタデータレポジトリー、ETL (ソースとターゲットのデータストア、変換来歴、式解析)  
**コンポーネント:** MicrosoftSqlServerRepositoryIsDbバージョン11.2.0  
  
**免責事項**  
このインポートブリッジでは、インターネットに接続して次のサードパーティライブラリーをダウンロードする必要があります:  
- オープンソースのサードパーティライブラリーをダウンロードする場合はhttps://repo.maven.apache.org/maven2/など  
- その他のサードパーティソフトウェア(データベース特定のJDBCドライバーなど)は該当するサイトへ  
  
ダウンロードされたサードパーティライブラリーは、$HOME/data/download/MIMB/に格納されています。  
HTTPSが失敗した場合、インポートブリッジはHTTPを試します。  
- インターネットへのアクセスにプロキシを使用している場合は、JREでそのプロキシを設定する必要があります(Miscellaneousパラメーターで -j オプションをご覧ください)。  
- インポートブリッジではインターネットにフルにアクセスできない場合は、インターネットアクセスがある別のサーバーから$HOME/data/download/MIMB/ディレクトリーをコピーします。$HOME/bin/MIMB.sh (または.bat) -dというコマンドを使えば、すべてのブリッジで使用される全サードパーティライブラリーを一度にダウンロードできます。  
  
このインポートブリッジを実行すると、ライセンス規約の責任、およびダウンロードしたサードパーティソフトウェアライブラリーによって生じる潜在的なセキュリティの脆弱性を受け入れることになります。  
  
**概要**  
このブリッジは、JDBC接続を使い、対応するSQL Server SSISカタログからパッケージをインポートします。  
  
**要件**  
SQL ServerはTLS v1とv1.1をサポートしなくなり、代わりにセキュリティ上の理由からTLS 1.2が必要となりました。また、JDK 11.0では古いバージョンのTLS (1.0や1.1など)がデフォルトで無効化されています。  
https://support.microsoft.com/en-us/topic/kb3135244-tls-1-2-support-for-microsoft-sql-server-e4472ef8-90a9-13c1-e4d8-44aad198cdbe#:%7E:text=SQL%20Server%202019%20has%20the,to%20enable%20TLS%201.2%20support  
したがって、SQL ServerをTLS 1.2にアップグレードできない場合は、/MetaIntegration/jre/conf/security/java.securityというファイルを編集してJDK 11の設定を変更し、  
次の行にある"TLSv1, TLSv1.1,"を削除する必要があります。  
- jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \  
その結果、次のようになります。  
- jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, \  
  
**よくある質問**  
該当なし  
  
**制限事項**  
現在判明している一般的な制限事項は、http://metaintegration.com/Products/MIMB/MIMBKnownLimitations.htmlか、バンドルされているDocumentation/ReadMe/MIMBKnownLimitations.htmlをご覧ください。  
  
**サポート**  
トラブルシューティングパッケージを次の項目と共に提供してください。  
- デバッグログ(UIまたはconf/conf.propertiesでMIR\_LOG\_LEVEL=6を使って設定可能)  
- 利用できる場合はメタデータバックアップ(技術的理由によりこの共通オプションが実装されていないブリッジがあるものの、Miscellaneousパラメーターで-backupオプションを使って設定可能)

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

| **パラメーター名** | **説明** | **タイプ** | **値** | **デフォルト** | **範囲** |
| --- | --- | --- | --- | --- | --- |
| **ホスト** | SQL Serverカタログが保管されているホストの名前またはIPアドレス。 | STRING |  | localhost | 必須 |
| **ユーザー** | 接続が確立されている側のデータベースユーザー名です。<br><br>SISS DBブリッジはSQL Serverのリポジトリーデータベースに直接接続します。したがってこのユーザーはデータベースユーザーであり、統合されたSSIS権限の一部ではありません。<br><br>このユーザーに次のデータベース権限を付与してください:<br>- サーバーロール: 接続アクセスではパブリック<br>- データベースメンバーシップ: db\_reader、ssis\_admin。<br><br>Note, the ssis\_admin membership is required for accessing internal ストアドプロシージャーs to extract packages. | STRING |  |  |  |
| **パスワード** | 接続が確立されている側のデータベースユーザーのパスワードです。 | パスワード |  |  |  |
| **データベース** | データベースの名前。 | STRING |  | SSISDB | 必須 |
| **参照フォルダーのフィルター** | SQL Server Integration Serviceカタログ内にパッケージのフォルダー名を入力します。このパラメーターは、リポジトリーストラクチャーの参照範囲を制限する必要がある場合に使用します。指定された場合、ブリッジは指定されたフォルダーからのパッケージのみをインポートします。 | REPOSITORY\_SUBSET |  |  |  |
| **パッケージ** | 処理中のSQL Server Integration Serviceのパッケージ名。 | REPOSITORY\_SUBSET |  |  | 必須 |
| **変数値ファイル** | MICROSOFT SQL SERVERは設定オーバーライド<br>SSISのパラメーターや変数のオーバーライドを定義するファイルです。<br><br>各定義は名前と値のペアで構成されています(例: param\_name=param\_value\_verride)。<br>各名前にNAMESPACEのプレフィックスが付いている必要があります。例:<br>$Project::project\_parameter\_1=global\_override\_1<br>$Package::package\_parameter\_1=global\_override\_2<br>User::user\_variable\_1=global\_override\_3<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>[PackageName]<br>$Project::project\_parameter\_1=global\_override\_2 // package specific overrride<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>[Project:Project\_1]<br>$Project::project\_parameter\_1=global\_override\_2 // project "Project\_1" 特定のオーバーライド<br>[Project:Project\_1.PackageName.TaskName]<br>$Project::project\_parameter\_1=global\_override\_3 // project "Project\_1" パッケージとタスクの特定オーバーライド<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で定義されたデフォルトの変数値がある場合はそれを上書きします。 | ファイル | <table><tr><td>*.txt</td></tr><tr><td>*.ini</td></tr><tr><td>*.var</td></tr><tr><td>*.properties</td></tr></table> |  |  |
| **[Encoding] (エンコーディング)** | プロパティ[SQLSourceType]が[ファイル接続]に設定されている場合は、[SQLタスクを実行]するためのソースファイルのエンコーディング文字セットを指定します。 | ENUMERATED | <table><tr><td>中東欧言語(ISO-8859-2)</td></tr><tr><td>中東欧言語(Windows-1250)</td></tr><tr><td>繁体字中国語(Big5)</td></tr><tr><td>簡体字中国語(GB18030)</td></tr><tr><td>簡体字中国語(GB2312)</td></tr><tr><td>キリル言語(ISO-8859-5)</td></tr><tr><td>キリル言語(Windows-1251)</td></tr><tr><td>DOS (IBM-850)</td></tr><tr><td>ギリシャ語(ISO-8859-7)</td></tr><tr><td>ギリシャ語(Windows-1253)</td></tr><tr><td>ヘブライ語(ISO-8859-8)</td></tr><tr><td>ヘブライ語(Windows-1255)</td></tr><tr><td>日本語(Shift_JIS)</td></tr><tr><td>韓国語(KS_C_5601-1987)</td></tr><tr><td>タイ語(TIS620)</td></tr><tr><td>タイ語(Windows-874)</td></tr><tr><td>トルコ語(ISO-8859-9)</td></tr><tr><td>トルコ語(Windows-1254)</td></tr><tr><td>UTF 8 (UTF-8)</td></tr><tr><td>UTF 16 (UTF-16)</td></tr><tr><td>西ヨーロッパ言語(ISO-8859-1)</td></tr><tr><td>西ヨーロッパ言語(ISO-8859-15)</td></tr><tr><td>西ヨーロッパ言語(Windows-1252)</td></tr><tr><td>ロケールエンコーディング</td></tr><tr><td>エンコード変換なし</td></tr></table> | windows-1252 |  |
| **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>このオプションの主な用途は、データストアインポートブリッジ(特にJDBCベースのデータベースインポートブリッジ)です。<br><br>なお、このオプションは次のようなブリッジでは動作しません。<br>- ファイルベースのインポートブリッジ(入力ファイルで代用可能なため)<br>- DI/BIリポジトリーインポートブリッジ(ツールのリポジトリーネイティブバックアップで代用可能なため)<br>- APIベース(COMベースなど)による一部のインポートブリッジ(技術的な理由のため)<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.level AggregationLevel**<br>外部接続の集計レベルを指定します。例: -connection.level catalog<br>サポートされている値のリスト:<br>server<br>catalog<br>schema (デフォルト)<br><br>**MICROSOFT SQL SERVERがデータベースである場合のオプション**<br>**-c**<br>サーバーから受け取ったdtsxパッケージのキャッシュの上限。このオプションは、[参照フォルダーのフィルター]オプションが空の場合に制限に影響します。デフォルトでは、ブリッジはパッケージをすべてインポートします。<br><br>**-s**<br>変換スクリプトの入力と出力間マッピングの外部指定を有効にします。この場合、入力は'\_Script\_'データベースのテーブルに行き、出力はデータベースのテーブルから取得されます。入力と出力間のマッピングリレーションシップは、テーブル間のマッピングを定義することで指定できます。<br>デフォルトでは、変換スクリプトにあるすべての出力に対してすべての入力がブリッジによって相互接続します。<br><br>**-connection.fullyqualifiedname**<br>接続名に{$project\_name}:{$package\_name}:タグのプレフィックスを付けます。これにより、異なるパッケージ内にある同じ名前の接続を区別しやすくなります。<br><br>**-connection.catalogname &lt;ブール値&gt;**<br>リレーショナルデータベース接続名にある#{$catalog\_name}というサフィックスを制御します。<br>-connection.catalogname false<br><br>**-environment &lt;文字列&gt;**<br>使われる環境をenvironment\_folder\environment\_nameという形式で指定します。環境変数が使われている場合は有効です。<br><br>**-cd &lt;文字列&gt;**<br>ディレクトリーパスでファイルシステムの接続を分割またはマージします。<br>接続を複数のルートフォルダーに分割するのに便利です。それをスティッチして複数のファイル保存先にまとめることができます。orig\_conという接続を2つの接続に分割する場合は、aフォルダーに基づくa\_conが1つで、残りがorig\_con接続に残ることになります。<br>-cd a\_con=orig\_con:/a<br><br>orig\_conという接続を2つの接続に分割する場合は、root/aフォルダーに基づいてa\_conとなります。<br>-cd a\_con=orig\_con:/root/a -<br><br>複数の接続をマージして1つにするのに便利です。2つの接続(R1というルートフォルダーを持つC:、およびR2というルートフォルダーを持つB:)を、R1とR2という2つのルートフォルダーを持つ1つのC:接続にマージさせる場合:<br>-cd C:\=B:\ | STRING |  |  |  |

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

マッピング情報は利用できません