Skip to main content

SQL Server コネクタを追加する

SQL Server への認証

CData Sync は、いくつかの方法でSQL Server への認証をサポートしています。以下から認証方法を選択し、認証の詳細を含む該当セクションに進みます。

Password

ユーザー資格情報で接続するには、次のプロパティを指定します:
  • Auth Scheme: Password を選択。
  • User: SQL Server への認証に使用するユーザー名を入力。
  • Password: SQL Server への認証に使用するパスワードを入力。

NTLM

NTLM ユーザー資格情報で接続するには、次のプロパティを指定します:
  • Auth Scheme: NTLM を選択。
  • User: SQL Server への認証に使用するユーザー名を入力。
  • Password: SQL Server への認証に使用するパスワードを入力。
  • (オプション)Domain: Windows(NTLM)セキュリティログイン用のドメイン名を入力。
  • (オプション)NTLM Version: 使用したいNTLM バージョンを選択。デフォルトバージョンは1です。

Kerberos

Kerberos 資格情報で接続するには、次のプロパティを指定します:
  • Auth Scheme: Kerberos を選択。
  • User: SQL Server への認証に使用するユーザー名を入力。
  • Password: SQL Server への認証に使用するパスワードを入力。
  • Kerberos KDC: Kerberos キー配布センター(KDC)マシンのホスト名またはIP アドレスを入力。
  • Kerberos Realm: Kerberos への認証に使用するKerberos レルムを入力。
  • Kerberos SPN: Kerberos ドメインコントローラーのサービスプリンシパル名(SPN)を入力。
  • (オプション)Kerberos Keytab File: Kerberos キータブファイルの完全なファイルパスを入力。
  • (オプション)Kerberos Ticket Cache: MIT Kerberos 資格情報キャッシュファイルの完全なファイルパスを入力。

AzurePassword

Azure ユーザー資格情報で接続するには、次のプロパティを指定します:
  • Auth Scheme: AzurePassword を選択。
  • User: Azure への認証に使用するユーザー名を入力。
  • Password: Azure への認証に使用するパスワードを入力。

Azure Active Directory

Azure Managed Service Identity

Azure Service Principal

Azure Service Principal Certificate

接続を完了する

接続を完了するには:
  1. Database プロパティ(オプション)には、SQL Server に接続する際に接続するデフォルトのデータベースを入力します。

SQL Server の変更データキャプチャのセットアップ

SQL Server は、ソースデータベースからの変更を追跡する2つの方法をサポートしています:
  • 変更データキャプチャ(CDC): 変更データキャプチャは、テーブルに適用されるすべての変更を追跡し、それらの変更をシャドウ履歴テーブルに記録します。CDC は、主キー(例:変更の追跡)のみをキャプチャするのではなく、すべての行データを履歴テーブルに記録します。
  • 変更の追跡: 変更の追跡は、CData Sync の効率的な追跡メカニズムを提供します。テーブルに変更の追跡を設定すると、ソーステーブルの行に影響を与えるDML 文はすべて、変更された行ごとに変更の追跡テーブルに変更の追跡情報を記録するようになります。
これらのメソッドの両方がテーブルで有効になっている場合、Sync はCDC を使用します。
好みの方法をセットアップするには、該当セクションの手順に従ってください。

CData Sync の変更データキャプチャの有効化

Sync のSQL Server データソースでCDC を使用するには、次の前提条件が満たされていることを確認してください:
  • CDC がSQL Server データベースで有効になっていること。
  • SQL Server エージェントが起動していること。
  • あなたがデータベースのdb_owner 固定データベースロールのメンバーであること。
前提条件を確認したら、次のステートメントを送信してデータベースでCDC を有効化します:
個々のテーブルでCDC を有効にするには、次のステートメントを送信します:

CData Sync の変更の追跡の有効化

データベースまたは個々のテーブルで変更の追跡を有効にできます。 データベースで変更の追跡を有効にするには、次のステートメントを送信します:
CHANGE_RETENTION パラメータは、変更追跡情報がデータベースに保持される期間を指定します。ベストプラクティスとして、Sync がコンフリクトやエラーを解決する時間を確保できるように長めの時間枠を設定します。最後に正常に実行されたジョブが保持期間外であった場合、Sync は自動的にテーブル全体を複製し、変更漏れがないことを確認します。 個々のテーブルで変更の追跡を有効にするには、次のステートメントを送信します:
変更の追跡を使用するには、各テーブルに少なくとも1つの主キーが必要です。

スキーマの変更

ソーステーブルのスキーマ変更をSync がどのように処理するかは、CDC を使用するか変更の追跡を使用するかによって異なります。

変更データキャプチャ

CDC を使用する場合、Sync はスキーマ変更後もSQL Server CDC キャプチャインスタンス間のシームレスな移行をサポートし、データ損失やフルリフレッシュなしにレプリケーションを継続できます。 SQL Server は既存のキャプチャインスタンスに新しいカラムを追跡しないため、スキーマ変更は次の手順で行います:
  1. ソーステーブルのスキーマを変更します。
  2. 新しい@capture_instance 名を指定してsys.sp_cdc_enable_table ストアドプロシージャを実行し、新しいCDC キャプチャインスタンスを作成します。SQL Server は古いインスタンスと新しいインスタンスを並列で実行します。 次のCDC ジョブ実行の開始時に、Sync は新しいキャプチャインスタンスを検出し、新しいインスタンスの開始ログシーケンス番号(min_lsn)までのすべての変更が処理されるまで、元のインスタンスからの読み取りを続けます。その後、Sync は自動的に新しいキャプチャインスタンスに切り替え、格納されているCDC メタデータを更新します。
Sync が移行を完了したら、sys.sp_cdc_disable_table を実行して古いキャプチャインスタンスを安全に削除できます。 この機能は、標準CDC レプリケーションおよびヒストリーモードを有効にしたCDC レプリケーションでサポートされています。
  • SQL Server はテーブルごとに最大2つの同時キャプチャインスタンスをサポートしています。2つを超えるインスタンスが検出された場合、エラーが発生します。
  • Sync が移行を完了するまで、元のキャプチャインスタンスを削除しないでください。元のインスタンスを早期に削除すると、Sync がそこから残りの変更を読み取る必要があるため、ジョブが失敗します。

変更の追跡

変更の追跡を使用すると、Sync は、ソーステーブル構造に変更(カラムの追加やデータ型の変更など)が加えられたときに、同期先テーブルを自動的に更新します。

差分レプリケーションのサポート

SQL Server データソースは差分レプリケーションをサポートしています。差分レプリケーションによりワークロードが大幅に軽減され、帯域幅の使用と同期の遅延が最小限に抑えられます。データを差分ごとに移動させることで、遅いAPI や毎日のクオータに対処する際、非常に高い柔軟性を発揮します。 SQL Server データソースのカラムに基づいて差分チェックカラムを構成する必要があります。 差分レプリケーションの設定方法の詳細は、差分レプリケーションを参照してください。

Always Encrypted Support

CData Sync connects to SQL Server sources by using the CData JDBC driver. The JDBC driver supports Always Encrypted columns, which enables Sync to read data from columns that use client-side encryption. When Sync reads from Always Encrypted columns, the JDBC driver returns decrypted plaintext values instead of binary or hexadecimal representations. This behavior allows encrypted columns to be included in replication workflows without causing read failures.

詳細について