Fabric 中的鏡像是企業級、基於雲端的、零ETL的SaaS技術。 在本節中,您將學習如何建立鏡像的 Azure SQL Managed Instance 資料庫,該資料庫代表您從 OneLake 中 Azure SQL Managed Instance 所選資料庫的唯讀、持續複製副本。
先決條件
- 建立或使用現有的 Azure SQL Managed Instance。 檢視 限制。
- 來源 Azure SQL Managed Instance 可以是單一 SQL 管理實例,或屬於實例池的 SQL 管理實例。
- 如果你沒有Azure SQL Managed Instance,你可以建立一個新的 SQL 管理實例。 如果你願意,可以使用Azure SQL Managed Instance免費優惠。
- 您需要 Fabric 的現有容量。 如果您不這麼做, 請啟動 Fabric 試用版。
- Fabric 容量必須啟動且運行。 暫停或刪除的容量會影響鏡像,且不會複寫任何資料。
- 需要網狀架構租用戶設定。 請確定已啟用以下兩個 Fabric 租用戶設定:
- 當您從 Fabric portal 建立鏡像資料庫時,您必須在工作區中擁有成員或管理員角色。 在建立過程中,Azure SQL Managed Instance 的受管理身分會自動被授予「讀寫」權限於對等資料庫。 具有協作者角色的用戶沒有完成此步驟所需的重新共享權限。
- 請檢查 Fabric 存取 Azure SQL Managed Instance 的網路需求:
- 如果你的Azure SQL Managed Instance無法公開存取,建立虛擬網路資料閘道或本地資料閘道來鏡像資料。 確保 Azure Virtual Network 或閘道伺服器的網路能透過專用端點連接到 Azure SQL Managed Instance。
- 如果你想在沒有資料閘道的情況下連接到 Azure SQL Managed Instance 的公開端點,你需要允許來自 Power BI 和 Data Factory 服務標籤的入站流量,或是網路安全群組中來自 Azure Cloud 服務標籤的流量。 了解更多請參閱 Configure public endpoints in Azure SQL Managed Instance。
- 請檢查 Fabric 的網路需求:如果您想要使用工作區層級的私有連結,請依照指示在 Azure 中建立私有連結服務,並從 Azure SQL Managed Instance 的虛擬網路和子網建立私有端點。
啟用你的 Azure SQL Managed Instance 的系統指定管理身份(SAMI)
您的 Azure SQL Managed Instance 的系統指定管理身份(SAMI)必須啟用,且必須是主要身份,才能將資料發佈至 Fabric OneLake。
- 要設定或驗證 SAMI 是否啟用,請前往 Azure 入口網站中的 SQL Managed Instance。 在資源功能表的 [安全性] 底下,選取 [身分識別]。
- 在 [系統指派的受控識別] 下,選取 [狀態] 為 [開啟]。
- SAMI 必須是主要身分識別。 使用下列 T-SQL 查詢驗證 SAMI 是否是主要身分識別:
SELECT * FROM sys.dm_server_managed_identities;
Fabric 的資料庫主體
接著,你需要建立一個讓 Fabric 服務連接到你的 Azure SQL Managed Instance 的方法。
您可以使用登入和對應的資料庫使用者來完成此作業。 遵循安全性最低權限原則,您應該只在您要鏡像的資料庫中授與 CONTROL DATABASE 權限。
使用登入帳號和對應的資料庫使用者
使用 SQL Server Management Studio (SSMS) 或 Microsoft Visual Studio Code 的 MSSQL 擴充 來連接您的 Azure SQL 托管執行個體。 連線至
master資料庫。建立伺服器登入並指派適當的權限。
Fabric 登入所需的許可權包括:
使用者資料庫中的下列權限:
- SELECT
- 改變任何外部鏡像
- 檢視資料庫效能狀態
- 檢視資料庫安全性狀態
建立 SQL 驗證登入。 您可以為此登入選擇任何名稱,然後在下列指令碼中將其取代
<fabric_login>。 提供您自己的強式密碼。 在master資料庫中執行下列 T-SQL 指令碼:
CREATE LOGIN <fabric_login> WITH PASSWORD = '<strong password>';- 或者,從現有帳號建立一個 Microsoft Entra ID 認證的登入。 在
master資料庫中執行下列 T-SQL 指令碼:
CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER;將查詢範圍切換至您要鏡像的資料庫。 將資料庫
<mirroring_source_database>的名稱取代並執行下列 T-SQL:USE [<mirroring_source_database>];建立連線至登入的資料庫使用者。 請將新資料庫使用者的名稱取代為
<fabric_user>以作為此用途:CREATE USER [fabric_user] FOR LOGIN [fabric_login]; GRANT SELECT, ALTER ANY EXTERNAL MIRROR, VIEW DATABASE PERFORMANCE STATE, VIEW DATABASE SECURITY STATE TO [fabric_user];- 或者,針對由 Microsoft Entra 認證的登入:
CREATE USER [bob@contoso.com] FOR LOGIN [bob@contoso.com]; GRANT SELECT, ALTER ANY EXTERNAL MIRROR, VIEW DATABASE PERFORMANCE STATE, VIEW DATABASE SECURITY STATE TO [bob@contoso.com];
建立鏡像的 Azure SQL 托管實例資料庫
- 開啟 Fabric 入口網站。
- 使用現有的工作區,或建立新的工作區。
- 移動至「建立」 窗格。 選取 建立 圖示。
- 捲動到 Data Warehouse 區塊,然後選擇 鏡像 Azure SQL Managed Instance。
連接到您的 Azure SQL 托管執行個體
要啟用鏡像,你需要從 Fabric 連接到 Azure SQL Managed Instance,才能啟動 SQL Managed Instance 與 Fabric 之間的連線。 以下步驟將引導您建立與 Azure SQL Managed Instance 的連線:
- 在新來源中,選擇Azure SQL Managed Instance。 或者,從 OneLake 目錄中選擇一個現有的 Azure SQL Managed Instance 連線。
- 你不能使用現有的 Azure SQL Managed Instance 連線,且類型為「SQL Server」(通用連線類型)。 僅支援連線類型為「SQL Managed Instance」的連線,用於鏡像 Azure SQL Managed Instance 資料。
- 如果你選擇了New connection,請輸入連線細節到Azure SQL Managed Instance。 您必須連線到特定資料庫,但無法為整個 SQL 受控執行個體及其所有資料庫設定鏡像。
Server :你可以透過Azure入口網站(在安全性選單下)的 Azure SQL Managed InstanceNetworking 頁面,查看 Public Endpoint 欄位,找到 Server 名稱 。 例如:<managed_instance_name>.public.<dns_zone>.database.windows.net,3342。- 資料庫:輸入您要鏡像的資料庫名稱。
- 連線:建立新連線。
- 連線名稱:提供自動名稱。 如有需要,您可以變更它,以方便在未來尋找此 SQL 受管理執行個體資料庫連線。
- 資料閘道:選取您根據案例設定的預設值 (無) 或虛擬網路資料閘道/內部部署資料閘道的名稱。
-
驗證類型:
- 基本 (SQL 驗證):指定使用者名稱和密碼。
- 組織帳戶(Microsoft Entra ID)
- 服務主體:指定服務主體的租用戶識別碼、用戶端識別碼和用戶端密碼。
- 選擇 連線。
啟動鏡像程序
依預設,[設定鏡像] 畫面可讓您鏡像資料庫中的所有資料。
鏡像所有資料表示在啟動鏡像後建立的任何新資料表都會被鏡像。
(選擇性) 僅選擇要鏡像的特定物件。 停用 [鏡像所有資料] 選項,然後從資料庫選取個別資料表。
如果表格根本無法鏡像,則會顯示錯誤圖示和相關說明文字。 同樣地,如果表格只能進行有一定限制的同步,則會顯示一個警告圖示,並附有相關說明文字。
在本教學課程中,我們會選取「鏡像所有資料」 選項。
在下一個畫面上,為目的地專案命名,然後選取 [ 建立鏡像資料庫]。 現在請等待一兩分鐘,讓 Fabric 為您配置所有內容。
2-5 分鐘後,選取 [監視複寫] 以查看狀態。
幾分鐘後,狀態應該會變更為 [執行中],這表示資料表正在同步處理。
如果您沒有看到資料表和對應的複寫狀態,請等待幾秒鐘,然後重新整理面板。
當資料表的初始複製完成時,「 上次重新整理 」欄中會出現日期。
現在您的資料已啟動並順利運行,Fabric 平台提供各種可用的分析場景。
這很重要
任何在來源資料庫中建立的細緻安全內容必須在 Microsoft Fabric 的鏡像資料庫中重新配置。
監視織體鏡像
設定鏡像後,系統會將您導向至 [鏡像狀態] 頁面。 在此,您可監視複寫的目前狀態。
以下是複寫狀態:
針對整體資料庫層級監控:
- 執行中 — 複寫目前正在執行,將快照集和變更資料帶入 OneLake。
- 執行中並顯示警告:複寫正在執行中,但發生暫時性錯誤
- 停止/已停止 — 複寫已停止。
- 錯誤 — 複寫中無法復原的嚴重錯誤。
對於資料表層級的監控:
- 執行中 – 資料表中的資料正在成功複製到倉儲中。
- 執行時發出警告 — 從資料表複製資料時出現非致命錯誤的警告
- 正在停止/已停止 - 複寫已停止
- 錯誤 — 該資料表的複寫發生嚴重錯誤。
如果初始同步處理已完成,則表格名稱旁邊會顯示 上次完成 的時間戳記。 此時間戳記指出 Fabric 上次檢查資料表是否有變更的時間。
另外,請注意 [複寫的列] 欄。 它會計算已為資料表複製的所有資料列。 每次複製資料列時,會重新計算。 這表示,例如,在來源上插入主索引鍵 =1 的資料列,會將「複寫的資料列」計數增加 1。 如果您使用相同的主索引鍵更新資料列,它會再次同步到 Fabric,即使是相同的資料列再次同步,資料列計數也會增加 1。 Fabric 會計算資料列上發生的所有複寫,包括插入、刪除、更新。
監視複寫畫面也會顯示資料表鏡像時的任何錯誤和警告。 如果資料表具有不支援的資料行類型,或整個資料表不受支援 (例如,在記憶體或資料行存放區索引中),則此畫面上會顯示有關限制的通知。 如需有關複寫狀態的更多信息和細節,請參閱 監控 Fabric 鏡像資料庫複寫。
相關內容
什麼是 Fabric 中的鏡像?