メイン コンテンツをスキップする 補完的コンテンツへスキップ

Microsoft SQL Server

このトピックでは、Microsoft SQL Server ターゲット コネクタを使用して Microsoft SQL Server ターゲットへの接続を構成する方法について説明します。

Microsoft SQL Server ターゲットは、は、 データ パイプラインまたはレプリケーション タスクのターゲット データ プラットフォームとして使用できます。データ パイプラインでは、データの保存、データの変換、データ マートの作成、データの登録など、さまざまな ELT 操作をターゲット プラットフォーム上で実行できます。一方、レプリケーション タスクでは、基本的な変換機能を備え、ソース システムからターゲット システムへ直接データをレプリケートしますが、ELT 操作はサポートしません。 で使用できます。Microsoft SQL Server ターゲットに接続する前に、データベースで ユーザーの前提条件 を構成する必要があります。Data Movement gateway 経由で Microsoft SQL Server に接続している場合は、ドライバーのセットアップ の説明に従ってドライバーをインストールする必要もあります。

Microsoft SQL Server Target コネクタを使用する場合の制限と考慮事項については、「 制限と考慮事項」を参照してください。

接続プロパティの設定

コネクタを構成するには、次の手順を実行します。

  1. [接続] で、 [接続を作成] をクリックします。

  2. Microsoft SQL Server ターゲット コネクタを選択し、次の設定を行います。

Data Movement gateway

情報メモQlik Talend Cloud Standard サブスクリプションを利用している場合、このサブスクリプション ティアでは Data Movement gateway がサポートされていないため、 [Data gateway] 項目は使用できません。

Microsoft SQL Server は、データ パイプラインまたはレプリケーション タスクのターゲットとして使用できます。Data Movement gateway は、パイプラインの Microsoft SQL Server ターゲットにアクセスするために必要になる場合がありますが (データベースが Qlik Cloud から直接アクセスできるかどうかによって異なる)、レプリケーション タスクで Microsoft SQL Server ターゲットを使用する場合は常に必要です。

情報メモData Movement gateway 経由でターゲット データベースにアクセスする場合は、Data Movement gateway マシンに適切なドライバーをインストールする必要もあります。詳細については、以下の「ドライバーのセットアップ」を参照してください。

データ パイプラインでの Microsoft SQL Server ターゲットの使用

情報メモこのサブスクリプション ティアでは Data Movement gateway がサポートされていないため、Qlik Talend Cloud スターター サブスクリプションではこの項目を使用できません。

Data Movement gateway は、ターゲット データベースが Qlik Cloud からアクセスできない場合にのみ必要で、プライベート リンクを使用してのみアクセスできます (オンプレミスのファイアウォールの背後または Virtual Private Cloud にある場合など) 。該当する場合には、ターゲット データベースにアクセスする Data Movement gateway を選択します。

ユースケースに応じて、これはデータ ソースからデータを移動するために展開された、同じまたは別の Data Movement gateway になります。

Data Movement gateway のユース ケースに関する詳細については、「どのようなときに Data Movement gateway が必要ですか?」および「 一般的なユース ケース」を参照してください。

情報メモData Movement gateway 2022.11.70 以降が必要です。

ターゲット データベースが Qlik Cloud から直接アクセスできる場合は、 [None] (なし) を選択します。

レプリケーション タスクでの Microsoft SQL Server ターゲットの使用

データ ゲートウェイMicrosoft SQL Server ターゲットへの接続をテストするために使用される Data Movement gateway を選択します。これは、データ ソースへのアクセスに使用されたゲートウェイと同じである必要があります。

情報メモ

Data Movement gateway 2023.5.10 以降が必要です。

データ ターゲット

  • クラウド プロバイダー: 必要に応じて次のいずれかを選択します。

    • なし (オンプレミスの場合)
    • Amazon RDS
    • Google Cloud
    • Microsoft Azure (Microsoft Azure Managed Instance と Microsoft Azure Database の両方をサポート)
  • サーバー: Microsoft SQL Server データベースがインストールされているコンピューターのホスト名または IP アドレスです。

    情報メモ

      既定のポートを上書きするには、サーバー名にポートを追加し、カンマで区切ります。例えば、サーバー名が myserver.company.local で、ポートが 3333 である場合は、サーバー名は次のようになっている必要があります:

      myserver.company.local,3333

アカウントのプロパティ

ユーザー名パスワード: Microsoft SQL Server データベースへのアクセスを承認されたユーザーのユーザー名とパスワード。

データベースのプロパティ

  • データベース名: データベースを指定するには 2 つの方法があります。

    • 方法 1 - リストから選択: この方法では、ユーザーをマスター データベース上に作成する必要があります。[Load databases] (データベースをロード) をクリックし、データベースを選択します。
    • 方法 2 - 手動: [Enter database name manually] (データベース名を手動で入力) を選択し、データベース名を入力します。
  • 暗号化 (信頼サーバー証明書):Qlik Cloud とデータベース サーバー間の通信を暗号化する場合に選択します。選択すると、サーバー証明書は自動的に信頼されます。
    • 証明書内のホスト名: サーバー証明書のホスト名がこの項目に指定された値と一致する場合にのみサーバー証明書を信頼するには、サーバー証明書のホスト名を入力します。

内部プロパティ

内部プロパティは、特殊なユース ケース向けであるため、ダイアログで公開されません。Qlik サポートによって指示があった場合にのみ使用する必要があります。

項目右側にある 新規作成キャンセル ボタンを使用して、必要に応じてプロパティを追加したり削除したりします。

名前

接続の表示名です。

前提条件

ユーザーの前提条件

  • コネクタ設定で指定されたユーザーは、ターゲットの Microsoft SQL Server データベースで少なくとも db_owner ユーザー ロールを持っている必要があります。
  • データベースを選択できるようにする (コネクタ ダイアログで [Load databases] (データベースをロード) をクリック) には、コネクタ設定で指定したユーザーをマスター データベース上に作成する必要があります。

ドライバーのセットアップ

ドライバーは、Data Movement gateway 経由でデータベースにアクセスする場合にのみ必要です。Data Movement gateway が必要な場合のユースケースの詳細については、上記の Data Movement gateway を参照してください。

driver のインストールは、ドライバー インストール ユーティリティを使用する (推奨) か、手動で実行できます。手動インストールは、ドライバー インストール ユーティリティで問題が発生した場合にのみ実行するようにしてください。

ドライバー インストール ユーティリティを使用したドライバーのインストール

このセクションでは、必要な driver のインストール方法を説明しました。このプロセスでは、必要な driver を自動的にダウンロード、インストール、設定するスクリプトを実行します。また、必要に応じて driver の更新やアンインストールを行うスクリプトを実行することもできます。

  • データ移動 ゲートウェイ サーバーに Python 3.6.x 以降 がインストールされていることを確認します。

    Python は、ほとんどの Linux 配布に前もってインストールされています。お使いのシステムにインストールされている Python のバージョンは、次のコマンドを実行することで確認できます。

    python3 --version

driverダウンロードしてインストールするには:

  1. Data Movement gateway サービスを停止します。

    sudo systemctl stop repagent

  2. オプションで、サービスが停止されたことを確認します。

    sudo systemctl status repagent

    ステータスは次のようになっているはずです。

    Active: inactive (dead) since <timestamp> ago

  3. データ移動 ゲートウェイ マシンで、作業ディレクトリを次に変更します:

    opt/qlik/gateway/movement/drivers/bin

  4. 次のコマンドを実行します。

    構文:

    ./install sqlserver

    アクセス制限または技術的な問題により driver をダウンロードできない場合は、driver をダウンロードする場所と データ移動 ゲートウェイ マシンのコピー先を指示するメッセージが表示されます。それが完了したら、install sqlserver コマンドを再度実行します。

    それ以外の場合は、driver の EULA が表示されます。

  5. 以下のいずれかを行います。

    • 何度も [Enter] を押すと、EULA 全体をスクロールできます。
    • 何度もスペースバーを押すと、EULA 全体をスピーディにスクロールできます。
    • q を押すと、ライセンス テキストが終了し、EULA 受諾オプションが表示されます。
  6. 以下のいずれかを行います。

    • 「y」を入力して [Enter] を押すと、EULA が受諾され、インストールが開始します。
    • 「n」を入力して [Enter] を押すと、EULA が拒否され、インストールが終了します。
    • 「v」を入力して [Enter] を押すと、EULA が再表示されます。

  7. driver がインストールされます。

  8. インストールが終了するまで待ってから (「完了しました!」と表示されます)、Data Movement gateway サービスを開始します。

    sudo systemctl start repagent

  9. 必要に応じて、サービスが開始されたことを確認します。

    sudo systemctl status repagent

    ステータスは次のようになっているはずです。

    Active: active (running) since <timestamp> ago

提供された driver をインストールする前に前のバージョンの driver をアンインストールしたい場合は、更新コマンドを実行します。

driverダウンロードして更新するには:

  1. Data Movement gateway サービスを停止します。

    sudo systemctl stop repagent

  2. オプションで、サービスが停止されたことを確認します。

    sudo systemctl status repagent

    ステータスは次のようになっているはずです。

    Active: inactive (dead) since <timestamp> ago

  3. データ移動 ゲートウェイ マシンで、作業ディレクトリを次に変更します:

    opt/qlik/gateway/movement/drivers/bin

  4. 次のコマンドを実行します。

    構文:

    ./update sqlserver

    アクセス制限または技術的な問題により driver をダウンロードできない場合は、driver をダウンロードする場所と データ移動 ゲートウェイ マシンのコピー先を指示するメッセージが表示されます。それが完了したら、update sqlserver コマンドを再度実行します。

    それ以外の場合は、driver の EULA が表示されます。

  5. 以下のいずれかを行います。

    • 何度も [Enter] を押すと、EULA 全体をスクロールできます。
    • 何度もスペースバーを押して、EULA 全体をスピーディにスクロールします。
    • q を押すと、ライセンス テキストが終了し、EULA 受諾オプションが表示されます。
  6. 以下のいずれかを行います。

    • 「y」を入力して [Enter] を押すと、EULA が受諾され、インストールが開始します。
    • 「n」を入力して [Enter] を押すと、EULA が拒否され、インストールが終了します。
    • 「v」を入力して [Enter] を押すと、最初から EULA をレビューできます。
  7. 古い driver がアンインストールされ、新しい driver がインストールされます。

  8. インストールが終了するまで待ってから (「完了しました!」と表示されます)、Data Movement gateway サービスを開始します。

    sudo systemctl start repagent

  9. 必要に応じて、サービスが開始されたことを確認します。

    sudo systemctl status repagent

    ステータスは次のようになっているはずです。

    Active: active (running) since <timestamp> ago

driver をアンインストールする場合は、アンインストール コマンドを実行します。

driver をアンインストールするには:

  1. このコネクタを使用するように構成されているすべてのタスクを停止します。

  2. データ移動 ゲートウェイ マシンで、作業ディレクトリを次に変更します:

    opt/qlik/gateway/movement/drivers/bin

  3. 次のコマンドを実行します。

    構文:

    ./uninstall sqlserver

    driver がアンインストールされます。

ドライバーの手動インストール

自動ドライバーのインストールが正常に完了しなかった場合にのみ、driver を手動でインストールするようにしてください。

データ パイプラインのターゲットとして Microsoft SQL Server を使用する場合は、ODBC ドライバーと JDBC ドライバーの両方をインストールする必要があります。レプリケーション タスクのターゲットとして Microsoft SQL Server を使用する場合、ODBC ドライバーのみインストールする必要があります。

Data Movement gateway がインストールされたら、msodbcsql<バージョン>.x86_64.rpmドライバーをダウンロードします。サポートされているバージョンへの直接ダウンロード リンクは、/opt/qlik/gateway/movement/drivers/manifests/sqlserver.yamlbinary-artifacts にあります。ダウンロードが完了したら、RPM を Data Movement gateway マシンにコピーします。

Data Movement gateway サーバーで、シェル プロンプトを開き、次の手順を実行します。

  1. Data Movement gateway サービスを停止します。

    sudo systemctl stop repagent

  2. オプションで、サービスが停止されたことを確認します。

    sudo systemctl status repagent

  3. ステータスは次のようになっているはずです。

    Active: inactive (dead) since <timestamp> ago

  4. ドライバー (RPM) をインストールします。

  5. 作業ディレクトリを <product_dir>/bin に変更します。

  6. ドライバーの場所を site_arep_login.sh ファイルにコピーします:

    echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/microsoft/msodbcsql<version>/lib64/" >> site_arep_login.sh

    これにより、ドライバーが「LD_LIBRARY_PATH」に追加され、 site_arep_login.sh ファイル内のドライバー場所が更新されます。

  7. オプションで、ドライバーの場所がコピーされていることを確認します。

    cat site_arep_login.sh
  8. Data Movement gateway サービスを起動します。

    sudo systemctl start repagent

  9. オプションで、サービスが開始されたことを確認します。

    sudo systemctl status repagent

    ステータスは次のようになっているはずです。

    Active: active (running) since <timestamp> ago

  10. Data Movement gateway は次の ODBC ライブラリを必要とします: msodbcsql-18.1.so.1.1

    現在インストールされているライブラリのバージョンを確認するには、次のコマンドを発行します。

    ls /opt/microsoft/msodbcsql<version>/lib64/

    既存のライブラリのバージョン番号が異なる場合 (例: libmsodbcsql-18.0.so.1.1)、既存のライブラリと必要なライブラリの間にシンボリック リンクを作成する必要があります。

    これを行うには、次のコマンドを発行します。

    cd /opt/microsoft/msodbcsql<version>/lib64/
    ln -s existing_library_name msodbcsql-18.1.so.1.1

    existing_library_name は現在インストールされているライブラリの名前です (例: libmsodbcsql-18.0.so.1.1)。

情報メモレプリケーション タスクのターゲットとして Microsoft SQL Server を使用する場合、JDBC ドライバーをインストールする必要はありません。
  1. mssql-jdbc-<バージョン>.jar ファイルをダウンロードします。サポートされているバージョンへの直接ダウンロード リンクは、/opt/qlik/gateway/movement/drivers/manifests/sqlserver.yamlbinary-artifacts にあります。ダウンロードが完了したら、JAR ファイルを Data Movement gateway マシンの次のフォルダーにコピーします。

    /opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib

  2. サービスの再起動 で説明されているコマンドを実行して、Data Movement gateway サービスを再起動します

制限と考慮事項

データ パイプラインで使用する際の制限と考慮事項

  • データ パイプラインで Microsoft SQL Server にデータをランディングする場合、ライブ ビューはサポートされません。ライブ ビューの詳細については、「データセットの保管」を参照してください。

すべてのデータ タスクの制限と考慮事項

次のラージ オブジェクト タイプがソース データベースで空 (0 バイト) の場合、フル ロード後は空にはなりません。

  • BLOB は 0x0000 (2 バイト) として書き込まれます
  • TEXT (VARCHAR(max)) は 0X00 (1 バイト) として書き込まれます
  • NTEXT (NVARCHAR(max)) は 0x0000 (2 バイト) として書き込まれます

情報メモ処理の変更中にこれらのタイプが空の場合、それらは空 (0 バイト) としてターゲットに正しく書き込まれます。

レプリケーション タスクのみの制限と考慮事項

  • フルサイズの LOB 列は、バッチ最適化適用モードではサポートされません。この制限は、タスク設定で LOB 列のサイズを制限するか、トランザクション適用モードに切り替えることで回避できます。
  • バッチ最適化適用オプションと、LOB 列を制限付きでレプリケート (KB) オプションの両方が有効になっている場合、ターゲットの BLOB 列は、 [LOB サイズを制限] 項目で指定されたサイズの 4 分の 1 に切り捨てられ、CLOB 列は指定されたサイズの半分に切り捨てられます。
  • 4 バイトの絵文字を複製する必要がある場合、変換を使用してデータ型を WSTRING(n ) から WSTRING ( n*2 ) に変換してください。

データ型

ネイティブ データ タイプの情報は保持され、データセット ビューの [ネイティブ データ タイプ] 列に表示されます。列が表示されない場合は、データ セット ビューの列ピッカーを開いて、 [ネイティブ データ タイプ] 列を選択する必要があります。

対応しているターゲット データ型
Qlik Cloud データ型 Microsoft SQL Server データ型

BOOLEAN

TINYINT

BYTES

VARBINARY(長さ)

DATE

DATE

TIME

TIME(0)

DATETIME

DATETIME2(scale)

INT1

SMALLINT

INT2

SMALLINT

INT4

INT

INT8

BIGINT

NUMERIC

NUMERIC(p,s)

REAL4

REAL

REAL8

FLOAT

STRING

列が日付または時刻の場合:

DATETIME2

列が日付または時刻ではない場合:

VARCHAR(length)

UINT1

INT2

UINT2

INT4

UINT4

INT8

UINT8

NUMERIC(20)

WSTRING

NVARCHAR(length)

BLOB

VARBINARY(max)

IMAGE

CLOB

VARCHAR(max)

TEXT

NCLOB

NVARCHAR(max)

NTEXT

次の SQL Server データ型はサポートされていません。データは読み込まれません。

  • CURSOR

  • SQL_VARIANT

  • TABLE

次のデータ型は VARCHAR (MAX) に変換されます。

  • 防ぐために、

  • GEOGRAPHY

  • GEOMETRY

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。