注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Foundry を Microsoft SQL Server に接続して、SQL Server データベースと Foundry の間でデータを読み取り、同期します。
機能 | ステータス |
---|---|
探索 | 🟢 一般提供中 |
バッチ同期 | 🟢 一般提供中 |
増分 | 🟢 一般提供中 |
変更データキャプチャ同期 | 🟢 一般提供中 |
Foundry での コネクタのセットアップ についてさらに学びます。
次の方法で SQL Server に認証できます。
authentication=ActiveDirectoryMSI
JDBC 設定を使用します。オプションで msiClientId
を提供することができます。authentication=ActiveDirectoryPassword
JDBC 設定を使用します。この設定を使用するには、Active Directory ユーザーのユーザー名とパスワードを提供する必要があります。authentication=ActiveDirectoryServicePrincipal
JDBC 設定を使用します。プリンシパル ID(アプリケーションまたはクライアント ID とも呼ばれる)と、そのプリンシパル ID のシークレットを指定する必要があります。これらの認証モードの詳細については、公式ドキュメント ↗ を参照してください。すべての認証オプションについて、提供されたユーザーとロールがターゲットデータベースに対する必要な特権、およびターゲットテーブルからの読み取りまたは書き込み権限を持っていることを確認してください。
* Azure Active Directory は現在 Microsoft Entra ID ↗ と呼ばれていますが、Microsoft が公開している SQL Server ドライバの JDBC オプションには Active Directory を参照する元の名前が保持されています。
Microsoft SQL Server コネクタは、接続する SQL Server インスタンスへのネットワークアクセスを必要とします。SQL Server 接続は通常、ポート 1433 で接続するためにホスト名を使用します。
Foundry から SQL Server への直接接続を有効にするには、Data Connection アプリケーション でソースを設定する際に適切な エグレスポリシー を追加する必要があります。
Azure SQL や AWS RDS などのクラウドサービス上でホストされている SQL Server インスタンスの場合、クラウドプロバイダのコンソールから取得したホスト名のエグレスポリシーを追加する必要があります。
Azure リダイレクトモードが使用されている場合、解決されたすべての IP アドレスのエグレスポリシーも追加する必要があります。解決された IP は時折変更されることがあるため、新しい IP を許可するためにエグレスポリシーを更新する必要があります。たとえば、SQL Server のインスタンスが Azure 上にホストされている場合、Azure SQL インスタンスのパブリック IP アドレスに関する詳細は Azure SQL ドキュメント ↗ を参照してください。
<your-database-name>.database.windows.net (port 1433)
nslookup <your-database-name>.database.windows.net
を実行します。最終結果は、このホスト名が Azure で解決する IP アドレスになります。以下は、Azure SQL の IPv4 ベースのエグレスポリシーの例です: x.x.x.x (port 1433)
。Azure SQL は複数のホストにロードバランシングを行うため、nslookup
コマンドを数回実行し、解決されたすべての IP アドレスを追加する必要があります。Foundry インスタンスも Azure 上にホストされている Azure SQL インスタンスに接続する場合は、Proxy 接続ポリシーオプションを使用する必要があります。Azure 内から発信されるトラフィックの場合、接続ポリシーはデフォルトで Redirect になります。Azure-Azure 接続のためにリダイレクトオプションを使用すると、すべての Azure SQL IP アドレスに対してポート 11000 から 11999 の範囲のすべてのポートのエグレスポリシーを設定する必要があります。これは可能ですが、過度に許可されているため推奨されません。Azure SQL 接続ポリシーの詳細については、公式の Azure SQL ドキュメント ↗ を参照してください。
エージェントランタイムを使用して接続する場合、エージェントホストがユーザーの MS SQL Server データベースに接続するために必要なホスト名、IP アドレス、およびポートに対してファイアウォールが開かれていることを確認する必要があります。
オプション | 必須かどうか | 説明 |
---|---|---|
Host type | はい | Foundry が SQL Server データベースにどのように接続するかを指定します。 オプション 1: ホスト名 ホスト名を提供します。これはすべての SQL Server 接続に推奨されるオプションであり、Azure SQL ↗ インスタンスに接続する場合は常に使用する必要があります。 オプション 2: IPv4 IPv4 アドレスを提供します。通常、企業ネットワーク内またはインターネット経由で IPv4 アドレスを使用して接続する場合、このオプションを使用できます。 オプション 3: IPv6 IPv6 アドレスを提供します。通常、IPv6 アドレスを使用して接続する場合は、このオプションを使用します。 |
Port | はい | 接続時に使用するポートを指定します。ほとんどの SQL Server インスタンスのデフォルトポートは 1433 です。ポートに関する詳細は、接続する SQL Server のバージョンの公式ドキュメントを参照してください。 |
Database name | はい | MS SQL Server インスタンス内で接続するデータベースの名前です。 |
Authentication | はい | 上記の 認証 ガイダンスを使用して構成します。 |
Require encryption | はい | デフォルトで有効になっています。詳細については、SQL Server JDBC ドライバの encrypt 設定に関する Microsoft のドキュメントを参照してください: 接続プロパティ リファレンス ↗ 暗号化サポートの例 ↗ |
Trust server certificate | はい | デフォルトで無効になっています。詳細については、SQL Server JDBC ドライバの trustServerCertificate 設定に関する Microsoft のドキュメントを参照してください: 接続プロパティ リファレンス ↗ |
Network Connectivity | はい | ユーザーの MS SQL Server インスタンスにネットワーク接続されたランタイムを提供する必要があります。企業のファイアウォールの背後にあるインスタンスの場合、通常、エージェントランタイムを使用する必要があります。クラウドホストされたインスタンスについては、詳細について ネットワーキング セクションを参照してください。 |
Microsoft SQL Server ソースは 変更データキャプチャ 同期をサポートしています。
Microsoft SQL Server で変更データキャプチャを有効にするには、以下のようなコマンドを実行してデータベースで CDC を有効にする必要があります。
USE <データベース> -- <データベース>を使用します
GO
EXEC sys.sp_cdc_enable_db -- Change Data Capture を有効にします
GO
次に、変更ログを記録すべき各テーブルで別のコマンドを実行します:
Copied!1 2 3 4 5 6 7 8 9
-- スキーマ内の特定のテーブルの変更データキャプチャ(CDC)を有効にします。 EXEC sys.sp_cdc_enable_table @source_schema = N'<schema>' -- 対象となるスキーマを指定します。 , @source_name = N'<table_name>' -- 対象となるテーブル名を指定します。 , @role_name = NULL -- データ変更を取得するロール名。NULLの場合、すべてのユーザーがデータを取得できます。 , @capture_instance = NULL -- キャプチャインスタンスの名前。NULLの場合、システムが自動的に名前を生成します。 , @supports_net_changes = 0 -- ネット変更のサポートを指定します。0の場合、ネット変更はサポートされません。 , @filegroup_name = N'PRIMARY'; -- データ変更が保存されるファイルグループを指定します。 GO -- このコマンドで前のコマンドを実行します。
テーブルに変更データキャプチャが有効化されると、Foundry に同期させることができます。Overview ページに移動し、+ Create CDC sync を選択して新しい変更データキャプチャ同期の作成を開始します。
変更データキャプチャ同期を作成するには、エクスプロレーションランタイムが動作している必要があります。ランタイムが初期化中の場合、数秒待ってページを再読み込みしてから変更データキャプチャ同期の作成を進める必要があるかもしれません。
これらのコマンドや Microsoft SQL Server で変更データキャプチャ (CDC) を使用する方法の詳細については、使用しているバージョンの SQL Server の公式ドキュメント ↗をご覧ください。
CDC データを正常に読み取るには、データベースユーザーに十分な権限を与えていることを確認する必要があります。
SELECT HAS_PERMS_BY_NAME('cdc', 'SCHEMA', 'EXECUTE') AS HasExecutePermission;
結果は True
であれば 1、False
であれば 0 が返されます。GRANT EXECUTE ON SCHEMA::cdc TO <USER>;