針對 Azure Synapse Analytics 中的專用 SQL 集區 (先前稱為 SQL DW) 進行疑難解答
本文列出 Azure Synapse Analytics 中專用 SQL 集區(先前稱為 SQL DW)中的常見疑難解答問題。
連線
問題 | 解決方案 |
---|---|
使用者 'NT AUTHORITY\ANONYMOUS LOGON' 登入失敗。 (Microsoft SQL Server,錯誤:18456) | 當 Microsoft Entra 使用者嘗試連線到 master 資料庫,但中沒有使用者 master 時,就會發生此錯誤。 若要更正此問題,請指定您想要在連接時間連線的專用SQL集區(先前稱為 SQL DW),或將使用者新增至 master 資料庫。 如需詳細資訊,請參閱安全性概觀。 |
伺服器主體 「MyUserName」 無法存取目前安全性內容下的資料庫 master 。 無法開啟使用者預設資料庫。 登入失敗。 使用者 'MyUserName' 登入失敗。 (Microsoft SQL Server,錯誤:916) |
當 Microsoft Entra 使用者嘗試連線到 master 資料庫,但中沒有使用者 master 時,就會發生此錯誤。 若要更正此問題,請指定您想要在連接時間連線的專用SQL集區(先前稱為 SQL DW),或將使用者新增至 master 資料庫。 如需詳細資訊,請參閱安全性概觀。 |
CTAIP 錯誤 | 當已在 SQL 資料庫 master 資料庫上建立登入,但未在特定 SQL 資料庫中建立登入時,就會發生此錯誤。 如果您遇到此錯誤,請參閱 安全性概觀 一文。 本文說明如何在資料庫中建立登入和使用者 master ,以及如何在 SQL 資料庫中建立使用者。 |
遭到防火牆封鎖 | 專用 SQL 集區(先前稱為 SQL DW)會受到防火牆的保護,以確保只有已知的 IP 位址可以存取資料庫。 防火牆預設是安全的,這表示您必須先明確啟用和IP位址或位址範圍,才能連線。 若要設定防火牆以進行存取,請遵循布建指示中的設定用戶端IP的伺服器防火牆存取中的步驟。 |
無法與工具或驅動程式連線 | 專用 SQL 集區(先前稱為 SQL DW)建議使用 SQL Server Management Studio (SSMS)、 適用於 Visual Studio 的 SSDT 或 sqlcmd 來查詢您的數據。 如需驅動程式和連線至 Azure Synapse 的詳細資訊,請參閱適用於 Azure Synapse 的驅動程式和 連線 至 Azure Synapse 文章。 |
工具
問題 | 解決方案 |
---|---|
Visual Studio 物件總管遺漏 Microsoft Entra 使用者 | 這是已知的問題。 解決方法是在 sys.database_principals 中檢視使用者。 請參閱 向 Azure Synapse 驗證,以深入瞭解如何搭配專用 SQL 集區使用 Microsoft Entra ID(先前稱為 SQL DW)。 |
使用腳本精靈或透過 SSMS 連線的手動腳本速度很慢、沒有回應或產生錯誤 | 確定已在資料庫中建立 master 使用者。 在腳本選項中,也請確定引擎版本設定為 「Microsoft Azure Synapse Analytics Edition」,且引擎類型為 「Microsoft Azure SQL 資料庫」。 |
在 SSMS 中產生文稿失敗 | 如果 [產生相依物件的腳本] 選項設定為 “True”,則為專用 SQL 集區產生腳本(先前稱為 SQL DW)的腳本會失敗。因應措施是,用戶必須手動移至 [工具-> 選項 -> SQL Server 物件總管 -> 產生相依選項的腳本,並將 設定為 false |
資料內嵌和準備
問題 | 解決方案 |
---|---|
使用 CETAS 匯出空字串會導致 Parquet 和 ORC 檔案中的 NULL 值。 請注意,如果您要從具有NOT NULL 條件約束的數據行匯出空字串,CETAS 將會導致拒絕的記錄,而且匯出可能會失敗。 | 拿掉 CETAS SELECT 語句中的空字串或違規數據行。 |
不支援將超出 0-127 範圍的值載入 Parquet 和 ORC 檔案格式的 tinyint 資料行。 | 指定目標數據行的較大數據類型。 |
訊息105208,層級 16,狀態 1,第 1 行 COPY 語句失敗,在驗證選項 'FROM' 的值時發生下列錯誤: '105200;COPY 語句失敗,因為選項 'FROM' 的值無效。 | 目前,使用 COPY 命令將資料擷取至使用新 DNS 分割功能的 Azure 儲存體 帳戶,會導致錯誤。 DNS 分割區功能可讓客戶為每個訂用帳戶建立最多 5000 個記憶體帳戶。 若要解決,請在未使用新 Azure 儲存體 DNS 磁碟分區功能的訂用帳戶中布建記憶體帳戶(目前為公開預覽版)。 |
效能
問題 | 解決方案 |
---|---|
查詢效能疑難解答 | 如果您嘗試針對特定查詢進行疑難解答,請從瞭解如何監視查詢開始。 |
tempdb 空間問題 |
監視 TempDB 空間使用量。 空間不足 tempdb 的常見原因是:- 設定給查詢的資源不足,導致資料溢出至 tempdb 。 請參閱 工作負載管理 - 統計數據遺失或過期,導致數據過多移動。 如需如何建立統計數據的詳細資訊,請參閱維護數據表統計數據 - tempdb 每個服務層級會配置空間。 將專用 SQL 集區 (先前稱為 SQL DW) 調整為較高的 DWU 設定會配置更多 tempdb 空間。 |
查詢效能不佳和計劃通常是遺漏統計數據的結果 | 效能不佳最常見的原因是數據表上缺少統計數據。 如需如何建立統計數據及其對效能至關重要的詳細資訊,請參閱 維護數據表統計數據 。 |
低並行/已排入佇列的查詢 | 瞭解 工作負載管理 很重要,以便瞭解如何平衡記憶體配置與並行。 |
如何實作最佳做法 | 學習改善查詢效能的最佳方式是 專用 SQL 集區(先前稱為 SQL DW)最佳做法 一文。 |
如何使用調整來改善效能 | 有時候改善效能的解決方案,就是藉由調整 專用 SQL 集區(先前稱為 SQL DW)來增加查詢的計算能力。 |
由於索引品質不佳,查詢效能不佳 | 有時候,查詢可能會因為數據行存放區索引品質不佳而變慢。 如需詳細資訊,請參閱 重建索引以改善區段品質。 |
系統管理
問題 | 解決方案 |
---|---|
Msg 40847:無法執行作業,因為伺服器會超過允許的資料庫交易單位配額 45000。 | 請減少 您嘗試建立的資料庫 DWU ,或 要求增加配額。 |
調查空間使用率 | 請參閱 數據表大小 以了解系統的空間使用率。 |
管理數據表的說明 | 如需管理數據表的說明,請參閱數據表概觀一文。 如需詳細資訊,請參閱數據表數據類型、散發數據表、編製數據表的索引、分割數據表、維護數據表統計數據和臨時表。 |
透明數據加密 (TDE) 進度列不會在 Azure 入口網站 中更新 | 您可以透過 PowerShell檢視 TDE 的狀態。 |
與 SQL 資料庫的差異
問題 | 解決方案 |
---|---|
不支援的 SQL 資料庫 功能 | 請參閱 不支持的數據表功能。 |
不支援的 SQL 資料庫 數據類型 | 請參閱 不支持的數據類型。 |
預存程式限制 | 請參閱 預存程式限制 ,以瞭解預存程式的一些限制。 |
UDF 不支援 SELECT 語句 | 這是我們 UDF 的目前限制。 如需我們支持的語法,請參閱 CREATE FUNCTION 。 |
下一步
如需尋找問題解決方案的更多協助,以下是您可以嘗試的其他一些資源。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應