Microsoft Fabric 中的資料倉儲連線
適用於:✅Microsoft Fabric 中的 SQL 分析端點和倉儲
在 Microsoft Fabric 中,Lakehouse SQL 分析端點或倉儲可透過表格式資料流 (TDS) 端點存取,這是與 SQL Server TDS 端點互動的所有現代 Web 應用程式都熟悉的。 這稱為 Microsoft Fabric 使用者介面內的 SQL 連接字串。
本文說明連線到 SQL 分析端點或倉儲的具體作法。
開始之前,必須先滿足以下先決條件:
- 您需要以投稿人或更高權限存取 Premium 容量工作區內的 SQL 分析端點或倉儲。
Fabric 倉儲的驗證
在 Microsoft Fabric 中,SQL 連接字串支援兩種類型的經驗證使用者:
- Microsoft Entra ID (先前稱為 Azure Active Directory) 使用者主體或使用者識別
- Microsoft Entra ID (先前稱為 Azure Active Directory) 服務主體
如需詳細資訊,請參閱使用 Microsoft Entra 驗證做為 Microsoft Fabric 中 SQL 驗證的替代方案。
SQL 連接字串需要開啟 TCP 通訊埠 1433。 TCP 1433 是標準 SQL Server 連接埠號碼。 SQL 連接字串也遵循倉儲或 Lakehouse SQL 分析端點資訊安全模型進行資料存取。 您可以取得使用者可存取之所有物件的資料。
允許 Power BI 服務標記穿過防火牆
為了確保適當的存取權,必須允許 Power BI 服務標記進行防火牆存取。 如需詳細資訊,請參閱 Power BI 服務標籤。 不能單獨使用 TDS 端點的完整網域名稱 (FQDN)。 允許 Power BI 服務標記是透過防火牆連線的必要條件。
擷取 SQL 連接字串
若要擷取連接字串,請遵循下列步驟:
- 流覽至您的工作區,選取 [倉儲]。
- 選取 [SQL 連接字串] 方塊中的 [複製] 按鈕,將 連接字串 複製到剪貼簿。
或者,在 OneLake 中:
- 選取 [倉儲],然後選取
...
[ 更多] 選項的省略號。 - 選取 [複製 SQL 連接字串] 將連接字串複製到剪貼板。
使用 SQL Server Management Studio (SSMS) 開始
下列步驟詳細說明如何從 Microsoft Fabric 工作區開始,將倉儲連線到 SQL Server Management Studio (SSMS)。
當您開啟 SSMS 時,[連線到伺服器] 視窗隨即出現。 若其已開啟,可選取 [物件總管]>[連線]>[資料庫引擎] 手動連線。
開啟 [連線到伺服器] 視窗之後,請將本文上一節複製的連接字串貼到 [伺服器名稱] 方塊中。 選取 [連線],然後繼續使用適當的認證以進行驗證。 請記住,僅支援透過 Microsoft Entra MFA 選項進行 Microsoft Entra 多重要素驗證 (MFA)。
建立連線後,物件總管會顯示來自工作區的已連線倉儲及其個別資料表和檢視,這些都已準備就緒可供查詢。
透過 SSMS (或 ADS) 連線時,您會看到 SQL 分析端點和倉儲都列為倉儲,而且很難區分這兩個項目類型及其功能。 因此,我們強烈建議您遵循命名慣例,以便在 Microsoft Fabric 入口網站以外的工具中工作時,可以輕鬆區分這兩種項目類型。 僅支援 SSMS 19 或更新版本。
使用 Power BI 連線
Warehouse 或 Lakehouse SQL 分析端點是 Power BI 內完全受支援的原生資料來源,不需要使用 SQL 連接字串。 [資料] 窗格中會顯示您可直接存取的所有倉儲。 因此,您可以輕鬆地依工作區查找倉儲,並:
- 選取 [倉儲]。
- 選擇實體。
- 載入資料 - 選擇資料連線模式:匯入或 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 建立連線時,請檢查以下相依性:
新增工藝品。 選擇 [新增工藝品] 並新增下列四個相依性,然後選取 [下載/更新] 以載入所有相依性。 例如:
選取 [測試連線],然後選取 [完成]。
<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
。 不過,dbt-fabric
不支援 SQL 驗證
DBT Fabric DW 配接器會使用 pyodbc
函式庫來建立與倉儲的連線。 pyodbc
函式庫是使用 Python Database API Specification v2.0 的 Python 語言 ODBC 實作。 pyodbc
函式庫使用 TDS (表格式資料流) 代理服務,透過 msodbc
連線結構中的 SQLDriverConnect 將連接字串直接傳遞到資料庫驅動程式。
如需詳細資訊,請參閱 Microsoft網狀架構數據倉儲 dbt 配接器設定 和 Microsoft網狀架構數據倉儲 dbt 配接器組態。
透過其他方式連線
任何非Microsoft工具也可以使用透過 ODBC 或 OLE DB 驅動程式的 SQL 連接字串,使用 Microsoft Entra ID (先前稱為 Azure Active Directory) 驗證,連線到Microsoft網狀架構倉儲或 SQL 分析端點。 如需詳細資訊和連接字串範例,請參閱 Microsoft Fabric 中作為 SQL 驗證替代方案的 Microsoft Entra 驗證。
自訂應用程式
在 Microsoft Fabric 中,倉儲和 Lakehouse SQL 分析端點提供 SQL 連接字串。 資料可從龐大的 SQL 工具生態系統存取,只要其可以使用 Microsoft Entra ID (先前稱為 Azure Active Directory) 進行驗證即可。 如需詳細資訊,請參閱適用於 Microsoft SQL 資料庫的連線函式庫。 如需詳細資訊和連接字串範例,請參閱 Microsoft Fabric 中作為 SQL 驗證替代方案的 Microsoft Entra 驗證。
最佳做法
建議您在應用程式/ETL 工作中新增重試以提升復原能力。 如需詳細資訊,請參閱下列文件:
- 重試模式 - Azure 架構中心
- 處理暫時性錯誤 - Azure SQL 資料庫
- 步驟 4:使用 ADO.NET 彈性地連線至 SQL - 適用於 SQL Server 的 ADO.NET 提供程式
- 步驟 4:使用 PHP 彈性地連線至 SQL - 適用於 SQL Server 的 PHP 驅動程式
考量與限制
- 不支援 SQL 驗證。
- Microsoft Fabric 倉儲不支援 Multiple Active Result Set (MARS)。 MARS 預設為停用狀態,但如果連接字串中包含
MultipleActiveResultSets
,則應將其移除或設為 false。 - 如果收到以下錯誤:「無法完成作業,因為我們達到系統限制」,這是因為系統權杖大小達到限制。 如果工作區有太多倉儲/SQL 分析端點,如果使用者是太多Microsoft Entra 群組的一部分,或兩者的組合,就可能會造成此問題。 我們建議每個工作區的倉儲和 SQL 分析端點數不超過 40 個,以避免發生此錯誤。 若問題持續發生,請連絡支援人員。
- 如果收到錯誤碼 24804 及訊息「因為系統更新,無法完成作業。 請關閉此連線、再次登入,然後重試作業」或者錯誤碼 6005 及訊息「正在關閉。 針對 SQL Server 執行失敗。 如果需要進一步的支援,請連絡 SQL Server 小組。」,這可能是因為系統部署或重新配置導致暫時失去連線。 若要解決此問題,請再次登入並重試。 若要了解如何在應用程式中提升復原能力和重試效率,請參閱最佳做法。
- 如果收到錯誤碼 18456:「針對 SQL Server 執行失敗,如果需要進一步的支援,請連絡 SQL Server 小組。」,請參閱已知問題 - 資料倉儲連線或查詢執行失敗。
- 不支援來自 SQL Server 的連結的伺服器連線。