共用方式為


針對 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) 和預存程序來執行下列資料庫層級檢查,進而驗證組態。

  1. 執行下列查詢,以檢查變更是否正確流動:

    SELECT * FROM sys.dm_change_feed_log_scan_sessions;
    
  2. 如果 sys.dm_change_feed_log_scan_sessions DMV 未顯示處理累加變更的任何進度,請執行下列 T-SQL 查詢,以檢查是否有回報任何問題:

    SELECT * FROM sys.dm_change_feed_errors;
    
  3. 如果沒有回報任何問題,請執行下列預存程序來檢閱鏡像 Azure SQL 資料庫的目前設定。 確認其已正確啟用。

    EXEC sp_help_change_feed;
    

    這裡要尋找的索引鍵資料行是 table_namestate4 以外的任何值都表示潛在的問題。

  4. 如果複寫仍然無法運作,請驗證正確的 SAMI 物件是否具有權限。

    1. 在 Fabric 入口網站中,選取鏡像資料庫上的 "..." 省略號選項。
    2. 選取 [管理權限] 選項。
    3. 確認 Azure SQL 邏輯伺服器名稱會顯示具有讀寫權限。
    4. 確定顯示的 AppId 符合 Azure SQL 資料庫邏輯伺服器的 SAMI ID。
  5. 如果需要疑難排解,請連絡客戶支援

受控識別

需要啟用 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 許可權或許可權未正確設定,請使用下列步驟。

  1. 選取鏡像資料庫項目上的 ... 省略號選項,將 SPN 新增為使用者。
  2. 選取 [管理權限] 選項。
  3. 輸入 Azure SQL 資料庫邏輯伺服器名稱的名稱。 提供 [讀取] 和 [寫入] 權限。