教學課程:從 Azure SQL 受控執行個體 設定Microsoft網狀架構鏡像資料庫 (預覽)
Fabric 中的鏡像是一項企業級、雲端式、零 ETL、SaaS 技術。 在本節中,您會瞭解如何建立鏡像 Azure SQL 受控執行個體 資料庫,此資料庫代表 OneLake 中所選資料庫 Azure SQL 受控執行個體 的只讀、持續復寫複本。
必要條件
- 建立或使用現有的 Azure SQL 受控執行個體。
- 來源 Azure SQL 受控執行個體 的更新原則必須設定為「永遠保持最新」
- 來源 Azure SQL 受控執行個體 可以是單一 SQL 受控實例或屬於實例集區的 SQL 受控實例。
- 如果您沒有 Azure SQL 受控執行個體,您可以建立新的 SQL 受控實例。 如有需要,您可以使用 Azure SQL 受控執行個體 免費供應專案。
- 在目前預覽期間,我們建議您使用其中一個現有資料庫的複本,或可從備份快速復原的任何現有測試或開發資料庫。 如果您想要從現有的備份使用資料庫,請參閱從 Azure SQL 受控執行個體 中的備份還原資料庫。
- 您需要 Fabric 的現有容量。 如果您沒有,則開始試用 Fabric。
- Fabric 容量必須是作用中且執行中。 暫停或刪除的容量會影響鏡像,且不會復寫任何數據。
- 啟用 Fabric 租用戶設定 [服務主體可以使用 Fabric API]。 若要瞭解如何啟用租用戶設定,請參閱 關於租用戶設定。
- 網狀架構存取 Azure SQL 受控執行個體 的網路需求:
- 在目前的預覽中,鏡像會要求您的 Azure SQL 受控執行個體 具有公用端點,必須可從 Azure 雲端或 Power BI 服務 卷標存取。 如需詳細資訊,請參閱搭配公用端點安全地使用 Azure SQL 受控執行個體 如何安全地執行公用端點 Azure SQL 受控執行個體。
開啟您 Azure SQL 受控執行個體 的系統指派受控識別 (SAMI)
您 Azure SQL 受控執行個體 的系統指派受控識別 (SAMI) 必須啟用,而且必須是主要身分識別,才能將數據發佈至 Fabric OneLake。
- 若要設定或確認 SAMI 已啟用,請移至 Azure 入口網站 中的 SQL 受管理執行個體。 在資源功能表的 [安全性] 底下,選取 [身分識別]。
- 在 [系統指派的受控識別] 下,選取 [狀態] 為 [開啟]。
- SAMI 必須是主要身分識別。 使用下列 T-SQL 查詢驗證 SAMI 是否是主要身分識別:
SELECT * FROM sys.dm_server_managed_identities;
Fabric 的資料庫主體
接下來,您必須建立網狀架構服務連線到 Azure SQL 受控執行個體 的方式。
您可以使用登入和對應的資料庫使用者來完成此作業。 遵循安全性最低許可權的原則,您應該只授與您想要鏡像之資料庫中的CONTROL DATABASE許可權。
使用登入和對應的資料庫使用者
使用 SQL Server Management Studio (SSMS) 或 Azure Data Studio 連線到您的 Azure SQL 受控執行個體。 連線至
master
資料庫。建立伺服器登入並指派適當的權限。
- 建立 SQL 驗證登入。 您可以選擇此登入的任何名稱,並在下列文稿中將其取代為
<fabric_login>
。 提供您自己的強式密碼。 在master
資料庫中執行下列 T-SQL 指令碼:
CREATE LOGIN <fabric_login> WITH PASSWORD = '<strong password>'; ALTER SERVER ROLE [##MS_ServerStateReader##] ADD MEMBER <fabric_login>;
- 或者,從現有的帳戶建立 Microsoft Entra ID 驗證登入。 在
master
資料庫中執行下列 T-SQL 指令碼:
CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER; ALTER SERVER ROLE [##MS_ServerStateReader##] ADD MEMBER [bob@contoso.com];
- 建立 SQL 驗證登入。 您可以選擇此登入的任何名稱,並在下列文稿中將其取代為
將查詢範圍切換至您要鏡像的資料庫。 將資料庫的名稱取代為
<mirroring_source_database>
,然後執行下列 T-SQL:USE [<mirroring_source_database>];
建立連線到登入的資料庫使用者。 請以這個目的取代新資料庫用戶的名稱:
<fabric_user>
CREATE USER <fabric_user> FOR LOGIN <fabric_login>; GRANT CONTROL TO <fabric_user>;
或者,針對 Microsoft Entra 登入,
CREATE USER [bob@contoso.com] FOR LOGIN [bob@contoso.com]; GRANT CONTROL TO [bob@contoso.com];
建立鏡像 Azure SQL 受控執行個體 資料庫
- 開啟 Fabric 入口網站。
- 使用現有的工作區,或建立新的工作區。
- 瀏覽至 [建立] 窗格。 選取 [建立] 圖示。
- 捲動至 [數據倉儲] 區段,然後選取 [鏡像 Azure SQL 受控執行個體 (預覽) 。
線上到您的 Azure SQL 受控執行個體
若要啟用鏡像,您必須從 Fabric 連線到 Azure SQL 受控執行個體,以起始 SQL 受管理執行個體 與 Fabric 之間的連線。 下列步驟會引導您完成建立 Azure SQL 受控執行個體 連線的程式:
- 在 [新增來源] 下,選取 [Azure SQL 受控執行個體]。 或者,從 OneLake 目錄選取現有的 Azure SQL 受控執行個體 連線。
- 您無法使用現有 Azure SQL 受控執行個體 類型為 「SQL Server」 的連線(一般連接類型)。 只有連線類型為 「SQL 受管理執行個體」 的連線才支援 Azure SQL 受控執行個體 數據的鏡像。
- 如果您選取 [新增連線],請輸入 Azure SQL 受控執行個體 的連線詳細數據。 您必須連線到特定資料庫,您無法設定整個 SQL 受控實例及其所有資料庫的鏡像。
- 伺服器:您可以流覽至 [Azure 入口網站 ][安全性] 功能表下的 [Azure SQL 受控執行個體 網络] 頁面,並查看 [公用端點] 字段,以找到 [伺服器名稱]。 例如:
<managed_instance_name>.public.<dns_zone>.database.windows.net,3342
。 - 資料庫:輸入您想要鏡像的資料庫名稱。
- 連線:建立新連線。
- 連線名稱:提供自動名稱。 您可以視需要變更它,以便日後尋找此 SQL 受控實例資料庫連線。
- 驗證種類:
- 基本 (SQL 驗證)
- 組織帳戶 (Microsoft Entra ID)
- 租用戶 ID (Azure 服務主體)
- 伺服器:您可以流覽至 [Azure 入口網站 ][安全性] 功能表下的 [Azure SQL 受控執行個體 網络] 頁面,並查看 [公用端點] 字段,以找到 [伺服器名稱]。 例如:
- 選取 Connect。
啟動鏡像程序
依預設,[設定鏡像] 畫面可讓您鏡像資料庫中的所有資料。
鏡像所有資料表示啟動鏡像之後建立的任何新資料表都會進行鏡像。
(選擇性) 僅選擇要鏡像的特定物件。 停用 [鏡像所有資料] 選項,然後從資料庫選取個別資料表。
如果數據表完全無法鏡像,它們會顯示錯誤圖示和相關說明文字。 同樣地,如果數據表只能鏡像並具有限制,則會以相關的說明文字顯示警告圖示。
在本教學課程中,我們會選取 [鏡像所有資料] 選項。
在下一個畫面上,為目的地專案指定名稱,然後選取 [ 建立鏡像資料庫]。 現在請等候一兩分鐘,讓 Fabric 為您布建所有專案。
2-5 分鐘之後,選取 [ 監視複寫 ] 以查看狀態。
幾分鐘後,狀態應該會變更為 [執行中],這表示資料表正在同步處理。
如果您沒有看到資料表和對應的複寫狀態,請等待幾秒鐘,然後重新整理面板。
當數據表的初始複製完成時,日期會出現在 [ 上次重新整理 ] 資料行中。
現在您的資料已啟動並執行,所有 Fabric 都有各種可用的分析案例。
重要
在來源資料庫中建立的任何細微安全性,都必須在 Microsoft Fabric 的鏡像資料庫中重新設定。
監視 Fabric 鏡像
設定鏡像後,系統會將您導向至 [鏡像狀態] 頁面。 在此,您可監視複寫的目前狀態。
以下是復寫狀態:
針對整體資料庫層級監視:
- 執行 – 複寫目前正在執行,將快照集和變更數據帶入 OneLake。
- 執行時出現警告:複寫正在執行,並出現暫時性錯誤
- 停止/已停止 – 複寫已停止。
- 錯誤 – 無法復原的復寫嚴重錯誤。
針對資料表層級監視:
- 執行 –數據表中的數據已成功復寫到倉儲中。
- 以警告執行 – 從數據表復寫數據時發生非嚴重錯誤的警告
- 停止/已停止 - 複寫已停止
- 錯誤 – 該資料表復寫時發生嚴重錯誤。
如果初始同步處理已完成, 則會在數據表名稱旁邊顯示 [上次完成 的時間戳]。 此時間戳表示 Fabric 上次檢查數據表是否有變更的時間。
此外,請注意數據列 復寫的數據 行。 它會計算數據表復寫的所有數據列。 每次復寫數據列時,都會再次計算。 這表示,例如,在來源上插入主鍵 =1 的數據列會增加一個「複寫的數據列」計數。 如果您使用相同的主鍵來更新數據列,請再次復寫至 Fabric,而且數據列計數會增加一個,即使它是再次復寫的相同數據列也一樣。 網狀架構會計算數據列上發生的所有複寫,包括插入、刪除、更新。
[ 監視復 寫] 畫面也會反映所鏡像數據表的任何錯誤和警告。 如果數據表有不支持的數據行類型,或整個數據表不受支援(例如,在記憶體或數據行存放區索引中),則會在此畫面上顯示有關限制的通知。 如需復寫狀態的詳細資訊和詳細數據,請參閱 監視網狀架構鏡像資料庫複寫。
重要
如果來源資料表中沒有任何更新,複寫引擎會開始退避,其中持續時間呈指數遞增,且最多為一小時。 複寫器引擎會在偵測到更新的資料之後自動繼續定期輪詢。