共用方式為


針對 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 資料庫上建立使用者。
遭到防火牆封鎖 為確保只有已知 IP 位址擁有資料庫的存取權,專用 SQL 集區 (先前稱為 SQL DW) 受到防火牆所保護。 防火牆預設將會受到保護,因此您在可以連線之前,必須明確啟用單一 IP 位址或位址範圍。 若要設定防火牆的存取,請遵循佈建指示設定用戶端 IP 的伺服器防火牆存取的步驟。
無法與工具或驅動程式連線 專用 SQL 集區 (先前稱為 SQL DW) 建議使用 SQL Server Management Studio (SSMS)SSDT for Visual Studiosqlcmd 來查詢您的資料。 如需驅動程式和連接到 Azure Synapse 的詳細資訊,請參閱 Azure Synapse 的驅動程式連線到 Azure Synapse文章。

工具

問題 解決方案
Visual Studio 物件總管中遺漏 Microsoft Entra 使用者 這是已知的問題。 解決方法是在 sys.database_principals 中檢視使用者。 若要深入了解使用 Microsoft Entra ID 與專用 SQL 集區 (先前稱為 SQL DW),請參閱 Azure Synapse 的驗證 (部分機器翻譯)。
手動撰寫指令碼、使用指令碼精靈,或透過 SSMS 連線很緩慢、無回應或產生錯誤 請確定已在 master 資料庫中建立使用者。 在指令碼選項中,也請確定引擎版本已設定為「Microsoft Azure Synapse Analytics 版本」,且引擎類型為「Microsoft Azure SQL Database」。
無法在 SSMS 中產生指令碼 如果 [產生相依物件的指令碼] 選項設定為 "True",則無法產生專用 SQL 集區 (先前稱為 SQL DW) 的指令碼。因應措施是,使用者必須手動移至 [工具] -> [選項] -> [SQL Server 物件總管] -> [產生相依物件的指令碼] 選項,並設定為 false

資料內嵌和準備

問題 解決方案
使用 CETAS 匯出空字串會在 Parquet 和 ORC 檔案中產生 Null 值。 注意:如果您要從具有 NOT NULL 條件約束的資料行匯出空字串,則 CETAS 會產生拒絕的記錄,而且匯出可能會失敗。 移除 CETAS 的 SELECT 陳述式中的空字串或違規資料行。
不支援將 0-127 範圍以外的值載入至 Parquet 和 ORC 檔案格式的 Tinyint 資料行。 為目標資料行指定較大的資料類型。
驗證選項 'FROM' 的值時,訊息 105208,層級 16,狀態 1,行 1 COPY 語句失敗,並出現下列錯誤:'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)來提升查詢的計算能力,即可改善效能。
索引品質不佳導致查詢效能不佳 有時,查詢會因為資料行存放區索引品質不佳而變慢。 如需詳細資訊,請參閱重建索引以改善區段品質

系統管理

問題 解決方案
訊息 40847:無法執行這項作業,因為伺服器可能會超過允許的資料庫交易單位配額 45000。 減少您正在嘗試建立的資料庫 DWU,或是要求增加配額
調查空間使用量 請參閱 資料表大小 ,以了解您系統的空間使用量。
協助管理資料表 請參閱資料表概觀一文,以協助管理您的資料表。 如需詳細資訊,請參閱資料表資料類型散發資料表編製資料表的索引分割資料表維護資料表統計資料暫存資料表
Azure 入口網站中的透明資料加密 (TDE) 進度列不會更新 您可以透過 PowerShell 檢視 TDE 的狀態。

與 SQL Database 不同之處

問題 解決方案
不支援的 SQL Database 功能 請參閱 不支援的資料表功能
不支援的 SQL Database 資料類型 請參閱 不支援的資料類型
預存程序限制 請參閱 預存程序限制 ,以了解預存程序的一些限制。
UDF 不支援 SELECT 陳述式 這是 UDF 目前的限制。 關於我們支援的語法,請參閱 CREATE FUNCTION

下一步

如需更多尋找問題解決方案的協助,以下是您可以嘗試的其他資源。