針對倉儲進行疑難解答
適用於: Microsoft Fabric 中的倉儲
本文提供針對 Microsoft Fabric 中倉儲常見問題進行疑難解答的指引。
暫時性連線錯誤
暫時性錯誤 (也稱為暫時性故障) 具有很快就會自行解決的根本原因。 如果與 Warehouse 的連線正常運作,但在用戶許可權、防火牆原則和網路設定變更的情況下開始失敗,請先嘗試這些步驟,再連絡支持人員:
- 檢查倉儲的狀態,並確定它未 暫停。
- 請勿立即重試失敗的命令。 相反地,請等候 5 到 10 分鐘,建立新的連線,然後重試命令。 有時候,Azure 系統會快速轉移硬體資源,以更好地平衡各種工作負載的負載。 其中大部分重新設定事件會在不到 60 秒內完成。 在此重新設定時間範圍期間,您可能有連線到資料庫的問題。 當服務自動重新啟動以解決某些問題時,連線 ion 也可能失敗。
- 連線 使用不同的應用程式和/或從另一部計算機使用。
因 tempdb 空間問題而導致查詢失敗
tempdb
是引擎在查詢執行期間用於各種暫存記憶體需求的系統資料庫。 用戶無法存取或設定它。 查詢可能會因為空間不足而 tempdb
失敗。 請採取下列步驟來減少 tempdb
空間使用量:
- 請參閱有關 統計數據 的文章,以確認已在所有數據表上建立適當的數據行統計數據。
- 確定所有數據表統計數據都會在大型 DML 交易之後更新。
- 具有複雜 JOIN、GROUP BY 和 ORDER BY 的查詢,並預期傳回大型結果集在執行時會使用更多
tempdb
空間。 更新查詢,以盡可能減少 GROUP BY 和 ORDER BY 資料行的數目。 - 當沒有其他作用中查詢執行時,請重新執行查詢,以避免在查詢執行期間的資源限制。
查詢效能似乎隨著時間而降低
許多因素可能會影響查詢的效能,例如數據表大小、數據扭曲、工作負載並行、可用資源、網路等變更。只是因為查詢執行速度較慢,不一定表示發生查詢效能問題。 請採取下列步驟來調查目標查詢:
- 找出效能良好和不良執行中所有效能影響因素的差異。
- 請參閱有關 統計數據 的文章,以確認已在所有數據表上建立適當的數據行統計數據。
- 確定所有數據表統計數據都會在大型 DML 交易之後更新。
- 檢查基表中的數據扭曲。
- 暫停並繼續服務。 然後,當沒有其他作用中的查詢執行時,請重新執行查詢。 您可以使用 DMV 監視倉儲工作負載。
長時間執行之後,查詢會失敗。 不會將數據傳回給用戶端。
SELECT 語句可能會在後端順利完成,而且嘗試將查詢結果集傳回客戶端時失敗。 請嘗試下列步驟來找出問題:
- 使用不同的用戶端工具來重新執行相同的查詢。
- SQL Server Management Studio (SSMS)
- Azure Data Studio
- Microsoft Fabric 入口網站中的 SQL 查詢編輯器
- Microsoft Fabric 入口網站中的 Visual Query 編輯器
- SQLCMD 公用程式(用於透過 Microsoft Entra ID 進行驗證(先前稱為 Azure Active Directory)通用與 MFA,請使用參數
-G -U
)
- 如果步驟 1 失敗,請執行具有失敗 SELECT 語句的 CTAS 命令,將 SELECT 查詢結果傳送至相同倉儲中的另一個數據表。 使用 CTAS 可避免將查詢結果集傳回用戶端電腦。 如果 CTAS 命令順利完成並填入目標數據表,則原始查詢失敗可能是由倉儲前端或客戶端問題所造成。
連絡 Microsoft 支援服務之前要收集哪些專案
- 提供倉儲的工作區標識碼。
- 提供語句標識碼和分散式要求標識碼。 查詢完成或失敗之後,會以訊息的形式傳回它們。
- 提供確切錯誤訊息的文字。
- 提供查詢完成或失敗的時間。
相關內容
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: