針對 Azure SQL 資料庫 的網狀架構鏡像資料庫進行疑難解答
本文涵蓋鏡像 Azure SQL 資料庫 的疑難解答步驟。
如需針對 Fabric SQL Database 自動設定的鏡像進行疑難解答,請參閱針對 Fabric SQL Database 的鏡像進行疑難解答(預覽版)。
Fabric 容量或工作區的變更
原因 | 結果 | 建議的解決方案 |
---|---|---|
Fabric 容量已暫停/刪除 | 鏡像將停止 | 1. 從 Azure 入口網站繼續或指派容量 2. 移至 Fabric 鏡像資料庫項目。 從工具列中,選取 [停止複寫]。 3. 在 Fabric 入口網站中選取鏡像項目的鏡像資料庫,以啟動複寫。 |
繼續 Fabric 容量 | 鏡像將不會繼續 | 1. 移至 Fabric 鏡像資料庫項目。 從工具列中,選取 [停止複寫]。 2. 在 Fabric 入口網站中選取鏡像項目的鏡像資料庫,以啟動複寫。 |
工作區已刪除 | 鏡像自動停止 | 如果 Azure SQL 資料庫 上的鏡像仍在使用中,請在 Azure SQL 資料庫 上執行下列預存程式:exec sp_change_feed_disable_db; 。 |
Fabric 試用版容量已過期 | 鏡像自動停止 | 請參閱 Fabric 試用版容量到期。 |
超過網狀架構容量 | 鏡像將會暫停 | 等候多載狀態超過或更新您的容量。 若要從多載情況中復原,請從動作深入瞭解。 復原容量后,鏡像將會繼續。 |
T-SQL 查詢以進行疑難排解
如果您遇到鏡像問題,請使用動態管理檢視 (DMV) 和預存程序來執行下列資料庫層級檢查,進而驗證組態。
執行下列查詢,以檢查變更是否正確流動:
SELECT * FROM sys.dm_change_feed_log_scan_sessions;
如果
sys.dm_change_feed_log_scan_sessions
DMV 未顯示處理累加變更的任何進度,請執行下列 T-SQL 查詢,以檢查是否有回報任何問題:SELECT * FROM sys.dm_change_feed_errors;
如果沒有回報任何問題,請執行下列預存程序來檢閱鏡像 Azure SQL 資料庫的目前設定。 確認其已正確啟用。
EXEC sp_help_change_feed;
這裡要尋找的索引鍵資料行是
table_name
和state
。4
以外的任何值都表示潛在的問題。如果複寫仍然無法運作,請驗證正確的 SAMI 物件是否具有權限。
- 在 Fabric 入口網站中,選取鏡像資料庫上的 "..." 省略號選項。
- 選取 [管理權限] 選項。
- 確認 Azure SQL 邏輯伺服器名稱會顯示具有讀寫權限。
- 確定顯示的 AppId 符合 Azure SQL 資料庫邏輯伺服器的 SAMI ID。
如果需要疑難排解,請連絡客戶支援。
受控識別
需要啟用 Azure SQL 邏輯伺服器的系統指派的受控識別 (SAMI),而且必須是主要身分識別。 如需詳細資訊,請參閱以使用者指派的受控識別建立 Azure SQL Database 伺服器。
啟用之後,如果 SAMI 設定狀態已關閉或一開始啟用,則為停用,然後再次啟用,Azure SQL 資料庫 至 Fabric OneLake 的鏡像將會失敗。
SAMI 必須是主要身分識別。 使用下列操作驗證 SAMI 是否是主要身分識別:SELECT * FROM sys.dm_server_managed_identities;
不支援使用者指派的受控識別 (UAMI)。 如果您新增 UAMI,它會成為主要身分識別,並將 SAMI 取代為主要身分識別。 這會導致複寫失敗。 解決方式:
- 移除所有 UAMI。 驗證已啟用 SAMI。
SPN 權限
請勿移除 Fabric 鏡像資料庫項目上的 Azure SQL 資料庫 服務主體名稱 (SPN) 參與者權限。
如果您不小心移除 SPN 許可權,鏡像 Azure SQL 資料庫 將無法如預期般運作。 來源資料庫無法鏡像任何新資料。
如果您移除 Azure SQL 資料庫 SPN 許可權或許可權未正確設定,請使用下列步驟。
- 選取鏡像資料庫項目上的
...
省略號選項,將 SPN 新增為使用者。 - 選取 [管理權限] 選項。
- 輸入 Azure SQL 資料庫邏輯伺服器名稱的名稱。 提供 [讀取] 和 [寫入] 權限。