次の方法で共有


Microsoft Fabric のデータ ウェアハウスへの接続

適用対象:✅ Microsoft Fabric の SQL 分析エンドポイントおよびウェアハウス

Microsoft Fabric のレイクハウス SQL 分析エンドポイントまたはウェアハウスには、表形式データ ストリーム (または TDS エンドポイント) 経由でアクセスできます。これは、SQL Server TDS エンドポイントとやり取りするすべてのモダン Web アプリケーションにとってなじみのある方法です。 これは、Microsoft Fabric ユーザー インターフェイス内では SQL 接続文字列と呼ばれます。

この記事では、SQL 分析エンドポイントまたはウェアハウスへの接続に関する方法を説明します。

開始するには、次の前提条件を満たしている必要があります。

Fabric のウェアハウスに対する認証

Microsoft Fabric では、SQL 接続文字列を介した次の 2 種類の認証ユーザーがサポートされています。

  • Microsoft Entra ID (旧称 Azure Active Directory) ユーザー プリンシパル、またはユーザー ID
  • Microsoft Entra ID (旧称 Azure Active Directory) サービス プリンシパル

詳細については、「Microsoft Fabric の SQL 認証の代替え手段とする Microsoft Entra 認証」を参照してください。

SQL 接続文字列では、TCP ポート 1433 が開かれている必要があります。 TCP 1433 は、標準の SQL Server ポート番号です。 SQL 接続文字列は、ウェアハウスまたはレイクハウス SQL 分析エンドポイントのデータ アクセスのセキュリティ モデルも考慮します。 ユーザーがアクセスできるすべてのオブジェクトのデータを取得できます。

ファイアウォール経由の Power BI サービス タグを許可する

適切なアクセスを確保するには、ファイアウォール アクセス用の Power BI サービス タグを許可する必要があります。 詳細については、「Power BI サービス タグ」を参照してください。 TDS エンドポイントの完全修飾ドメイン名 (FQDN) を単独で使用することはできません。 ファイアウォール経由の接続には、Power BI サービス タグを許可する必要があります。

SQL 接続文字列を取得する

接続文字列を取得するには、次の手順に従います。

  1. ワークスペースに移動し、ウェアハウスを選択します。
  2. [SQL 接続文字列] ボックスの [コピー] ボタンを選択して、接続文字列をクリップボードにコピーします。

または、OneLake で次の手順を実行します。

  1. ウェアハウスを選択し、[その他のオプション] の省略記号 ... を選択します。
  2. [SQL 接続文字列のコピー] を選択して、接続文字列をクリップボードにコピーします。

SQL Server Management Studio (SSMS) の利用を開始する

次の手順では、Microsoft Fabric ワークスペースから開始し、ウェアハウスを SQL Server Management Studio (SSMS) に接続する方法について詳しく説明します。

  1. SSMS を開くと、[サーバーへ接続] ウィンドウが表示されます。 既に開いている場合は、[オブジェクト エクスプローラー]>[接続]>[データベース エンジン] の順に選択することで手動で接続できます。

    [接続] メニュー上のどこで [データベース エンジン] を選択するべきかを示すスクリーンショット。

  2. [サーバーに接続] ウィンドウが開いたら、この記事の前のセクションからコピーした接続文字列を [サーバー名] ボックスに貼り付けます。 [接続] を選択し、認証に適した資格情報を使用して続行します。 Microsoft Entra 多要素認証 (MFA) のみがオプションの Microsoft Entra MFA を介してサポートされることに注意してください。

    [サーバーへ接続] ウィンドウを示すスクリーンショット。

  3. 接続が確立されると、オブジェクト エクスプローラーにはワークスペースから接続されたウェアハウスとその各テーブルとビューが表示され、そのすべてに対してクエリを実行する準備が整います。

    接続されたサーバーの名前がオブジェクト エクスプローラー ペインのどこに表示されるかを示すスクリーンショット。

SSMS (または ADS) 経由で接続すると、SQL 分析エンドポイントとウェアハウスの両方がウェアハウスとして一覧表示され、2 つのアイテムの種類とその機能を区別することは困難です。 このため、Microsoft Fabric ポータル エクスペリエンスの外のツールで作業する場合は、2 つの項目の種類を簡単に区別できる名前付け規則を採用することを強くお勧めします。 SSMS 19 以降のみがサポートされています。

Power BI を使用した接続

ウェアハウスまたはレイクハウス SQL 分析エンドポイントは、Power BI 内で完全にサポートされているネイティブ データ ソースであり、SQL 接続文字列を使用する必要はありません。 データ ペインは、自分が直接アクセスできるすべてのウェアハウスを公開します。 これにより、ワークスペースごとのウェアハウスを簡単に見つけ、次のことができます。

  1. ウェアハウスを編集する。
  2. エンティティを選択する。
  3. データの読み込み - データ接続モード (インポートまたは DirectQuery) を選択します。

詳細については、Microsoft Fabric でのレポートの作成に関する記事を参照してください。

OLE DB を使用して接続する

OLE DB を使用したウェアハウスまたは SQL 分析エンドポイントへの接続がサポートされます。 最新の Microsoft OLE DB Driver for SQL Server を実行していることを確認します。

ODBC を使用して接続する

Microsoft Fabric は、ODBC を使用したウェアハウスまたは SQL 分析エンドポイントへの接続をサポートします。 最新の ODBC Driver for SQL Server を実行していることを確認します。 Microsoft Entra ID (旧称 Azure Active Directory) 認証を使用します。 ODBC 18 以降のバージョンのみがサポートされています。

JDBC を使用して接続する

Microsoft Fabric は、Java データベース接続 (JDBC) ドライバーを使用したウェアハウスまたは SQL 分析エンドポイントへの接続もサポートします。

JDBC 経由で接続を確立する場合は、次の依存関係をチェックします。

  1. 成果物を追加します。 [成果物の追加] を選択し、次の 4 つの依存関係を追加してから、[ダウンロード/更新] を選択してすべての依存関係を読み込みます。 次に例を示します。

    どこで [ダウンロード/更新] を選択するべきかを示すスクリーンショット。

  2. [接続のテスト][完了] を選択します。

    [依存関係宣言] タブのスクリーンショット。

    <dependency>
       <groupId>com.microsoft.azure</groupId>
       <artifactId>msal4j</artifactId>
       <version>1.13.3</version>
    
    </dependency>
    
    <dependency>
       <groupId>com.microsoft.sqlserver</groupId>
       <artifactId>mssql-jdbc_auth</artifactId>
       <version>11.2.1.x86</version>
    </dependency>
    
     <dependency>
       <groupId>com.microsoft.sqlserver</groupId>
       <artifactId>mssql-jdbc</artifactId>
       <version>12.1.0.jre11-preview</version>
    </dependency>
    
     <dependency>
       <groupId>com.microsoft.aad</groupId>
       <artifactId>adal</artifactId>
       <version>4.2.2</version>
    </dependency>
    

dbt を使用して接続する

dbt アダプターは、テストやバージョン管理などのソフトウェア エンジニアリングのベスト プラクティスを使用して、コードを削減し、依存関係管理を自動化し、より信頼性の高いデータを配布することすべてを SQL を使用して行うデータ変換フレームワークです。

dbt データ プラットフォーム固有アダプター プラグインを使用すると、ユーザーは任意のデータ ストアに接続できます。 dbt からウェアハウスに接続するには、dbt-fabric アダプターを使用します。 同様に、Azure Synapse Analytics 専用 SQL プール データ ソースには、独自のアダプターである dbt-synapse があります。

どちらのアダプターも Microsoft Entra ID 認証をサポートしており、開発者は az cli authentication を使用できます。 ただし、SQL 認証は dbt-fabric ではサポートされていません

DBT Fabric DW アダプターは、pyodbc ライブラリを使用してウェアハウスとの接続を確立します。 pyodbc ライブラリは、Python Database API 仕様 v2.0 を使用する Python 言語の ODBC 実装です。 pyodbc ライブラリは、TDS (表形式データ ストリーミング) プロキシ サービスを使用して、Microsoft Fabric への msodbc 接続構造の中で、SQLDriverConnect を通して接続文字列をデータベース ドライバーに直接渡します。

詳細については、Microsoft Fabric Data Warehouse dbt アダプターのセットアップMicrosoft Fabric Data Warehouse dbt アダプターの構成に関する記事を参照してください。

他の方法による接続

また、任意の Microsoft 製以外のツールで、ODBC または OLE DB ドライバー経由で SQL 接続文字列を使用し、Microsoft Entra ID (旧称 Azure Active Directory) 認証を使用して Microsoft Fabric ウェアハウスまたは SQL 分析エンドポイントに接続できます。 詳細とサンプルの接続文字列については、「SQL 認証の代替え手段とする Microsoft Entra 認証」を参照してください。

カスタム アプリケーション

Microsoft Fabric では、ウェアハウスとレイクハウス SQL 分析エンドポイントが SQL 接続文字列を提供します。 データは、Microsoft Entra ID (旧称 Azure Active Directory) を使用して認証できる限り、SQL ツールの広大なエコシステムからアクセスできます。 詳細については、「Microsoft SQL Database の接続ライブラリ」を参照してください。 詳細とサンプルの接続文字列については、「SQL 認証の代替え手段とする Microsoft Entra 認証」を参照してください。

ベスト プラクティス

回復性を構築するために、アプリケーション/ETL ジョブに再試行を追加することをお勧めします。 詳細については、次のドキュメントを参照してください。

考慮事項と制限事項

  • SQL 認証はサポートされていません。
  • Microsoft Fabric ウェアハウスでは、複数のアクティブな結果セット (MARS) はサポートされていません。 MARS は既定では無効になっていますが、接続文字列に MultipleActiveResultSets が含まれている場合は、それを削除するか false に設定する必要があります。
  • "システム制限に達したため、操作を完了できませんでした" というエラーが表示される場合は、システム トークンのサイズが上限に達したことが原因です。 この問題は、ワークスペースにあるウェアハウスまたは SQL 分析エンドポイントが多すぎる場合、ユーザーが所属している Microsoft Entra グループが多すぎる場合、またはその 2 つの組み合わせの場合に発生する可能性があります。 このエラーを防ぐために、ワークスペースあたりのウェアハウスおよび SQL 分析エンドポイントの数を 40 個以下にすることをお勧めします。 問題が解決しない場合は、サポートにお問い合わせください。
  • エラー コード 24804 と「システムの更新が原因で操作を完了できませんでした。 この接続を閉じて、再度サインインし、操作を再試行してください」またはエラー コード 6005 と「シャットダウンが進行中です」というメッセージが表示されます。 Execution fail against sql server. (SQL Server に対する実行が失敗します。) さらにサポートが必要な場合は、SQL Server チームにお問い合わせください」というメッセージが表示される場合、これは一時的な接続の損失が原因であり、システムの展開または再構成によるものと考えられます。 この問題を解決するには、もう一度サインインして再試行してください。 アプリケーションで回復性と再試行を構築する方法については、「ベスト プラクティス」を参照してください。
  • エラー コード 18456: "SQL サーバーに対する実行に失敗しました。さらにサポートが必要な場合は、SQL サーバー チームにお問い合わせください。" が表示された場合は、データ ウェアハウスの接続またはクエリの実行が失敗するという既知の問題の記事を参照してください。
  • SQL Server からのリンク サーバー接続はサポートされていません。