疑難排解倉儲
適用於✅:Microsoft Fabric 的倉儲
本文提供疑難排解 Microsoft Fabric 中倉儲的常見問題的指導。
暫時性連線錯誤
暫時性錯誤 (也稱為暫時性故障) 具有很快就會自行解決的根本原因。 如果與倉儲的連線正常運作,但在使用者權限、防火牆原則和網路設定變更的情況下開始失敗,請先嘗試這些步驟,再連絡客戶支援:
- 檢查倉儲的狀態,並確定它未暫停。
- 請勿立即重試失敗的命令。 相反地,請等待 5 到 10 分鐘,建立新連線,然後重試命令。 Azure 系統偶爾會快速地將硬體資源轉移到負載平衡更好的各種工作負載。 其中大部分重新設定事件會在不到 60 秒內完成。 在此重新設定時間範圍期間,您可能會在資料庫中連線到資料庫時發生問題。 當服務自動重新啟動以解決某些問題時,連線也可能會失敗。
- 使用不同的應用程式及/或從另一部電腦進行連線。
因為 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 入口網站中的視覺物件查詢編輯器
- SQLCMD 公用程式 (對於透過 Microsoft Entra ID (先前稱為 Azure Active Directory) 通用 MFA 的驗證,請使用參數
-G -U
)
- 如果步驟 1 失敗,請執行具有失敗 SELECT 陳述式的 CTAS 命令,以將 SELECT 查詢結果傳送至相同倉儲中的另一個資料表。 使用 CTAS 可避免將查詢結果集傳回用戶端機器。 如果 CTAS 命令順利完成並填入目標資料表,則原始查詢失敗可能是由倉儲前端或用戶端問題所造成。
連絡 Microsoft 支援服務之前要收集的內容
- 提供倉儲的工作區 ID。
- 提供陳述式 ID 和分散式要求 ID。 查詢完成或失敗後,它們會以訊息的形式傳回。
- 提供確切錯誤訊息的文字。
- 提供查詢完成或失敗的時間。