Fabric 數據代理與 SSAS 實時連接:架構、錯誤和直接 Lake 遷移
隨著組織競相將人工智能集成到其分析堆棧中,遺留環境出現了一個關鍵的架構障礙:Fabric 數據代理無法連接到 SSAS 實時連接。雖然界面可能會顯示已連接語義模型,這只是一個“代理”工件,它阻止XMLA端點人工智能落地所需的發現。
本指南對為什麼本地數據網關無法支持對話式人工智能,分析延遲成本複合模型,並概述了從 SSAS 遷移到織物直接湖解鎖真正的企業智能。
通過與 Azure SSAS 的實時連接使用 Fabric 數據代理 |千兆XP
GigXP.com
企業智能
作者:數據架構團隊 | 2025 年 10 月更新
執行摘要
結構數據代理無法連接通過實時連接連接到 SSAS 多維數據集。該架構阻止了 AI 運行所需的 XMLA 模式發現。您在 Fabric 中看到的“語義模型”是一個代理工件,而不是數據容器。要啟用 AI 代理,遷移到 Direct Lake 是唯一受支持的路徑。
管理 SQL Server Analysis Services (SSAS) 遺留投資的組織面臨著新的摩擦點。 Microsoft Fabric 的承諾是統一智能,特別是使用數據代理與企業數據聊天的能力。然而,對於那些使用本地數據網關連接到 SSAS 的人來說,答案是明確的不。
本報告剖析了架構塊。我們解釋了連接失敗的原因,並澄清了混合環境中圍繞“語義模型”的令人困惑的術語。
兼容性判定
Fabric 數據代理依賴於一個稱為“接地”的過程。要回答諸如“歐洲的銷售額是多少?”之類的問題,人工智能必須首先掃描數據庫模式,以了解是否存在名為“銷售額”的表和名為“地區”的列。代理使用 XMLA(XML for Analysis)端點執行此掃描。
這是實時連接失敗的地方。 Microsoft Fabric 將實時連接工件視為“代理模型”。這些代理指向外部服務器,但阻止 XMLA 端點所需的元數據公開。如果無法訪問 XMLA 端點,數據代理將是盲目的。它看不到您的桌子。它看不到您的列。因此,它無法生成查詢。
互動:數據架構路徑
圖 1:可視化元數據差距。 XMLA 請求(藍色)在實時連接代理處遇到障礙,而 Direct Lake(綠色)允許完全遍歷。
技術深入探討:元數據牆
握手失敗的原因
當數據代理初始化時,它會嘗試將自己“紮根”在您的數據中。它發送特定序列的 TMSL(表格模型腳本語言)發現命令。在實時連接場景中,這些命令無效。
發現序列:
Fabric 中的“代理”模型不緩存架構信息。它盲目轉發 DAX 查詢以進行可視化,但拒絕服務元數據發現請求。由於代理無法“讀取”您的數據地圖,因此無法對其進行導航。
樣本值問題:
即使模式發現有效,代理也需要訪問“樣本值”(例如,看到“國家/地區”列包含“美國”、“英國”、“德國”)。通過網關為大型 SSAS 多維數據集中的每一列讀取這些不同的值將引發巨大的性能損失,可能會導致代理在回答單個問題之前超時。
複合模型陷阱
架構師嘗試的常見解決方法是創建“複合模型”(Power BI 數據集的 DirectQuery)。在此場景中,您創建一個新的結構語義模型,該模型連接到 SSAS 實時連接,但允許您添加本地表或計算組。
雖然從技術上講,這在 Fabric 中放置了“真實”模型,但它仍然存在不適合數據代理。代理查詢包裝器模型,然後包裝器模型嘗試將查詢折疊到 SSAS。將自然語言映射到 DAX,然後通過 DirectQuery 包裝器將該 DAX 折疊到舊服務器的複雜性引入了兩個致命缺陷:
- 有限關係:複合模型使用“有限關係”(無物理完整性約束)。這會阻止代理準確推斷過濾器如何在表之間傳播,從而導致“我不知道”響應。
- 折疊失敗:簡單的問題通常會生成無法折疊到 SSAS 源的 DAX。結果是嘗試將數百萬行拉入包裝器模型的內存中,從而導致即時超時。
延遲複合器
即使元數據塊被刪除,網關的物理特性也會降低體驗。人工智能對話是“喋喋不休”的——它不會運行一個查詢;而是運行一個查詢。它運行發現循環。使用下面的模擬器來看看網關延遲如何破壞人工智能的“實時”感覺。
模擬:網關延遲影響
網關延遲 (Ping)
50毫秒
代理複雜度(每個答案的查詢數)
5 條查詢
總等待時間:0.5秒
注意:AI 處理時間(約 2 秒)已添加到網絡時間中。任何超過 3 秒的時間都會讓用戶感覺“損壞”。
經濟轉變:資本支出與運營支出
從 SSAS 遷移到 Fabric Direct Lake 不僅僅是一次技術遷移;更是一次技術遷移。這是一個金融問題。您正在從資本支出模型(購買硬件核心)轉向運營支出模型(租用 Azure 容量)。
SSAS 實時連接
資本支出
您擁有硬件。計算成本是“沉沒的”。 Fabric僅用於渲染像素,這意味著非常低的CU(容量單位)消耗。
織物直接湖
運營支出
計算是計量的。數據代理回答的每個問題都會燒毀 Fabric CU。大量使用需要更高的 F-SKU(建議將 F64+ 用於生產 AI)。
診斷工具包
需要向利益相關者證明這種限制嗎?使用這些檢查來確認元數據塊。
1.DAX Studio測試:將 DAX Studio 連接到您的 Fabric 工作區。嘗試使用“SELECT * FROM $SYSTEM.MDSCHEMA_TABLES”查詢實時連接代理。結果:空或錯誤。
2. 設置檢查:轉到 Fabric 中的語義模型設置。如果“計劃刷新”和“數據源憑據”選項卡呈灰色或丟失,則確認該工件是代理,而不是模型。
3. 問答設置:嘗試在數據集上配置“Q&A”(代理的前身)。該選項將被禁用,原因是“遠程模型”。
錯誤解碼器:您將看到什麼
如果您嘗試強制數據代理 (Copilot) 連接到 SSAS 實時連接支持的報表,您可能會遇到這些混淆的錯誤狀態之一。單擊一張卡片即可揭示技術根本原因。
“不支持該型號”
根本原因:Fabric 後端檢查“ModelType”屬性。如果它檢測到“LiveConnection”或“DirectQueryOverAS”,它會立即中止接地過程以防止超時。
建議閱讀:多語言持久性:現代數據架構戰略指南
“抱歉,我現在看不到您的數據”
根本原因:通用超時。代理嘗試查詢列統計信息(基數)以了解數據形狀,但本地網關延遲超過了交互式 AI 響應的 30 秒嚴格超時。
“無法分析此頁面上的視覺效果”
根本原因:代理正在嘗試讀取視覺對象的數據支持。由於可視化查詢必須經過 Gateway -> SSAS -> Gateway -> Fabric,因此異步等待時間超出了 Agent 的同步預期。
“切換到 Direct Lake 模式”
根本原因:2024 年末 Fabric 更新中添加了一條明確的錯誤消息,以引導用戶遠離傳統連接模式。
戰略選擇
對於人工智能驅動的組織來說,“本地數據、雲端像素”的混合時代即將結束。要利用 Fabric 數據代理,元數據必須駐留在 Fabric 容量中。
遷移到 Direct Lake
推薦的路徑是將 SSAS 模型遷移到 Fabric直接湖模式。通過將數據導出到 OneLake 中的 Delta Parquet 文件,您可以實現接近內存的性能。至關重要的是,元數據本身就駐留在 Fabric 中。這將打開 XMLA 端點,允許數據代理對架構建立索引並立即回答用戶問題。
遷移準備清單
存貨:使用兼容性級別 1500 或更高級別識別 SSAS 表格模型(輕鬆腳本遷移所需)。
腳本提取:使用表格編輯器保存 Model.bim 文件,刪除數據源分區。
數據移動:設置數據工廠管道以將源 SQL 數據移至 Fabric Lakehouse (Delta Parquet)。
元數據重新綁定:在 Fabric 中打開剝離後的 Model.bim,並將分區指向 OneLake 中的 Delta 表。
代理激活:在 Fabric 租戶設置中啟用“允許 Copilot 中的用戶數據”。
連接方式對比
| 特徵 | SSAS 實時連接 | 織物直接湖 | 面料進口 |
|---|---|---|---|
| 數據位置 | 本地服務器 | OneLake(雲) | 織物記憶 |
| 元數據訪問 | 被阻止(僅限代理) | 開放(Fabric Native) | 開放(Fabric Native) |
| 代理兼容 | 不 | 是的 | 是的 |
| XMLA端點 | 不支持 | 支持 | 支持 |
| 延遲 | 高(網關躍點) | 低(內存中/Parquet) | 最低 |
常見問題解答
全部
技術的
遷移
安全
我們可以通過租戶設置啟用 XMLA for Live Connections 嗎?
不可以。雖然租戶設置為“允許 XMLA 端點”,但它僅適用於導入、DirectQuery 和 Direct Lake 模型。啟用它不會刪除實時連接代理上的架構塊。
如果語義模型不包含任何數據,為什麼它還存在?
它充當安全邊界。它允許 Fabric 管理傳遞到網關的“EffectiveUserName”屬性以實施行級安全性 (RLS),而無需將物理服務器直接暴露給報告層。
Direct Lake 是否需要完全重寫我們的 SSAS 多維數據集?
未必。表格編輯器等工具允許您編寫 SSAS 中的度量和關係腳本,並將其部署到 Fabric 模型。主要工作是將數據源從 SQL 視圖重新指向 OneLake 表。
我們可以使用複合模型作為橋樑嗎?
這是有風險的。由於元數據的限制,SSAS 上的複合模型經常無法發現 AI 模式。它不是數據代理穩定性的認證途徑。
Direct Lake 是否尊重我的 SSAS 基於角色的安全性?
Direct Lake 要求您在 Fabric 語義模型中重新創建角色。但是,您可以使用腳本自動執行此操作。定義後,Fabric 在代理看到數據之前就會遵循 RLS 過濾器。
我的數據是否會通過代理離開該區域?
如果您位於受支持的區域(例如美國、歐洲),則 AI 處理將在租戶合規範圍內進行。然而,對於實時連接,這個問題沒有實際意義,因為代理無法首先訪問數據。
© 2025 GigXP.com。版權所有。
基於 Microsoft Fabric 架構規範(2025 年 10 月)的研究。
