SQL Server リンクサーバーとして Snowflake のデータに接続

Dibyendu Datta
Dibyendu Datta
Lead Technology Evangelist
CData Connect AI を使用して、リアルタイムのSnowflake のデータ用のリンクサーバーを作成できます。

SQL Server リンクサーバーは、SQL Server データベースエンジンがリモートデータソースからデータを読み取り、 SQL Server インスタンス外部のリモートデータベースサーバーに対してコマンドを実行できるようにします。通常、リンクサーバーは 別の SQL Server インスタンスや Oracle などの他のデータベース製品のテーブルを含む T-SQL ステートメントの実行を可能にするために設定されます。 CData Connect AI と組み合わせると、リンクサーバーは SQL Server データベースからリアルタイムのSnowflake のデータへの即座のアクセスを提供します。この記事では、Connect AI を使用して Snowflake に接続し、 SQL Server Management Studio(SSMS)でSnowflake のデータをクエリする方法を説明します。

CData Connect AI は、Snowflake 向けの純粋な SQL Server インターフェースを提供し、ネイティブにサポートされるデータベースに データをレプリケートすることなく Snowflake のデータをクエリできます。 最適化されたデータ処理機能を標準搭載しており、CData Connect AI はフィルタや JOIN などのサポート対象の SQL 操作を Snowflake へ直接送信し、サーバーサイド処理を活用して要求された Snowflake のデータを迅速に返します。

Snowflake データ連携について

CData は、Snowflake のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:

  • Snowflake データを迅速かつ効率的に読み書きできます。
  • 指定された Warehouse、Database、Schema のメタデータを動的に取得できます。
  • OAuth、OKTA、Azure AD、Azure マネージド サービス ID、PingFederate、秘密鍵など、さまざまな方法で認証できます。

多くの CData ユーザーは、CData ソリューションを使用して、お気に入りのツールやアプリケーションから Snowflake にアクセスし、さまざまなシステムからデータを Snowflake にレプリケートして、包括的なウェアハウジングと分析を行っています。

CData ソリューションとの Snowflake 統合についての詳細は、ブログをご覧ください:https://jp.cdata.com/blog/snowflake-integrations


はじめに


SQL Server 用の Snowflake 接続を設定

SQL リンクサーバーから Snowflake への接続は、CData Connect AI を通じて実現できます。SQL リンクサーバーからSnowflake のデータを操作するには、まず Snowflake への接続を作成・設定します。

  1. Connect AI にログインして「Sources」をクリック、次に「 Add Connection」をクリック
  2. 接続を追加パネルから「Snowflake」を選択
  3. Snowflake に接続するために必要な認証プロパティを入力します。

    それでは、Snowflake データベースに接続していきましょう。認証に加えて、以下の接続プロパティを設定します。

    • Url:お使いのSnowflake URL を指定します。例:https://orgname-myaccount.snowflakecomputing.com
      • Legacy URL を使用する場合:https://myaccount.region.snowflakecomputing.com
      • ご自身のURL は以下のステップで確認できます。
        1. Snowflake UI の左下にあるユーザー名をクリックします
        2. Account ID にカーソルを合わせます
        3. Copy Account URL アイコンをクリックして、アカウントURL をコピーします
    • Database(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限したい場合に設定します
    • Schema(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限したい場合に設定します

    Snowflakeへの認証

    CData 製品では、Snowflake ユーザー認証、フェデレーション認証、およびSSL クライアント認証をサポートしています。認証するには、UserPassword を設定し、AuthScheme プロパティで認証方法を選択してください。

    キーペア認証

    ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成し、キーペア認証で接続することも可能です。この方法で接続するには、AuthSchemePRIVATEKEY に設定し、以下の値を設定してください。

    • User:認証に使用するユーザーアカウント
    • PrivateKey:プライベートキーを含む.pem ファイルへのパスなど、ユーザーに使用されるプライベートキー
    • PrivateKeyType:プライベートキーを含むキーストアの種類(PEMKEY_FILE、PFXFILE など)
    • PrivateKeyPassword:指定されたプライベートキーのパスワード

    その他の認証方法については、ヘルプドキュメントの「Snowflakeへの認証」セクションをご確認ください。

  4. 「Save & Test」をクリック
  5. Snowflake 接続の追加ページで「Permissions」タブに移動し、ユーザーベースの権限を更新します。

パーソナルアクセストークンの追加

REST API、OData API、または仮想 SQL Server を通じて Connect AI に接続する場合、パーソナルアクセストークン(PAT)を使用して Connect AI への接続を認証します。アクセスを細かく管理するため、サービスごとに個別の PAT を作成することをお勧めします。

  1. Connect AI アプリの右上にある歯車アイコン()をクリックして設定ページを開きます。
  2. 設定ページで「Access Tokens」セクションに移動し、「 Create PAT」をクリックします。
  3. PAT に名前を付けて「Create」をクリックします。
  4. パーソナルアクセストークンは作成時にのみ表示されるため、必ずコピーして今後の使用に備えて安全に保管してください。

接続が設定され PAT が生成されたので、 からSnowflake のデータに接続する準備が整いました。

Connect AI を使用して SQL Server から Snowflake に接続

SQL Server リンクサーバーから CData Connect AI の仮想 SQL Server API への接続を確立するには、以下の手順に従ってください。

  1. Microsoft SQL Server Management Studio を開きます。
  2. オブジェクトエクスプローラーペインで、サーバーオブジェクトを開き、「リンクサーバー」を右クリックして「新しいリンク サーバー」を選択します。
  3. 「新しいリンク サーバー」ダイアログが開きます。「全般」ページで、以下の情報を入力します:
    • 「リンク サーバー」フィールドにサーバー名を入力します。
    • 「その他のデータ ソース」ラジオボタンを選択し、プロバイダーとして「SQL Server Native Client 11.0」を選択します。
    • 「データ ソース」フィールドに tds.cdata.com,14333 を入力します。
    • 「カタログ」フィールドに、接続したい CData Connect AI データソースの接続名を入力します(例:Snowflake1)。
  4. 「セキュリティ」ページを選択します。下部で「このセキュリティ コンテキストを使用する」というラベルのラジオボタンを選択し、以下の情報を入力します:
    • リモート ログイン - CData Connect AI のユーザー名を入力します。これは CData Connect AI インターフェースの右上に表示されます。例:[email protected]
    • パスワード - 設定ページで生成した PAT を入力します。
  5. 「OK」をクリックしてサーバーを作成します。
  6. これでリンクサーバーを使用して、指定したデータソースのデータにアクセスできます。より多くのソースからデータにアクセスする必要がある場合は、各ソースに対して別のリンクサーバーを作成してください。

クエリの実行

これで、SQL Server に接続できる任意のツールから Snowflake リンクサーバーに対してクエリを実行できます。 SQL クエリの例:

		SELECT * FROM [CDATA CONNECT CLOUD].[Snowflake1].[Snowflake].[Products]
	
Snowflake のデータをクエリできるリンクサーバーが正常に作成されました。

CData Connect AI を入手

SQL Server データベースから直接 300 以上の SaaS、ビッグデータ、NoSQL ソースへのリアルタイムデータアクセスを取得するには、 CData Connect AI を今すぐお試しください!

はじめる準備はできましたか?

CData Connect AI の詳細、または無料トライアルにお申し込みください:

無料トライアル お問い合わせ