Fabric 中的鏡像 (現已普遍提供)是一種企業級、雲端、零 ETL 的 SaaS 技術。 在本節中,您將瞭解如何建立鏡像的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器,以在 OneLake 中建立 PostgreSQL 資料的唯讀、持續複寫複本。
這很重要
Ignite 2025 後新建立的 Azure Database for PostgreSQL 彈性伺服器,會自動包含最新的鏡像元件一般可用版本。 現有伺服器會在下一個維護週期中逐步升級,無需人工介入。 你不需要停用再重新啟用同步就可以收到更新。
先決條件
- 建立或使用現有的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器。
- 如果您沒有適用於 PostgreSQL 的 Azure 資料庫彈性伺服器,請 建立新的彈性伺服器。
- 作為示範,我們建議您使用您現有資料庫的一個副本,或任何可以快速從備份中恢復的現有測試或開發資料庫。 如果您想要使用現有備份中的資料庫,請參閱 從適用於 PostgreSQL 的 Azure 資料庫彈性伺服器中的備份還原資料庫。
- 您需要 Fabric 的現有容量。 如果您不這麼做, 請啟動 Fabric 試用版。
- Fabric 容量必須啟動且運行。 暫停或刪除的容量也會停止鏡像,且不會複寫任何資料。
- 需要網狀架構租用戶設定。 請確定已啟用以下兩個 Fabric 租用戶設定:
- 在從 Fabric 入口建立鏡像資料庫時,你需要在工作空間中擁有成員或管理員角色。 在建立期間,適用於 PostgreSQL 的 Azure 資料庫的受控識別會自動授與鏡像資料庫的「讀取和寫入」許可權。 具有協作者角色的用戶沒有完成此步驟所需的重新共享權限。
- 如果你的彈性伺服器沒有啟用公開連線,或不 允許 Azure 服務 連接到它,你可以 建立虛擬網路資料閘道 來鏡像資料。 請確定 Azure 虛擬網路或閘道機器的網路可以透過私人端點連線到適用於 PostgreSQL 的 Azure 資料庫彈性伺服器,或防火牆規則允許。
- Fabric 鏡像不支援於讀取副本,或存在讀取副本的主伺服器。
準備適用於 PostgreSQL 的 Azure 資料庫
適用於 PostgreSQL 的 Azure 資料庫彈性伺服器中的鏡像是以邏輯複寫為基礎,而且需要先設定一些特定的必要條件,才能連線到您的資料。
這很重要
為了引導使用者啟用這些必要條件,我們在 Azure 入口網站 中建立特定的 [網狀架構鏡像] 頁面,為您自動化所有這些。 如需詳細資訊,請參閱 PostgreSQL 彈性伺服器的 Fabric 鏡像概念。
- System-Assigned 必須啟用受控識別 (SAMI)。
-
wal_level預寫日誌 (WAL) 的伺服器參數必須設為邏輯。 - 擴充功能 (azure_cdc) 是必要的,而且必須列入允許清單並預先載入 (需要重新啟動)。
-
max_worker_processes來源伺服器中每個鏡像資料庫的伺服器參數必須增加 3。
Fabric 鏡像的資料庫角色
接著,你需要提供或創建一個 PostgreSQL 或 Entra ID 角色,以便 Fabric 服務能夠連接至你的 Azure Database for PostgreSQL 彈性伺服器。
你可以透過以下選項之一指定一個資料庫角色來連接你的來源系統來達成這個目標:
使用 Entra ID 角色
請依照以下 指示 將 Entra ID 使用者或群組對應到 PostgreSQL 資料庫角色。
完成後,你可以使用以下 SQL 腳本授予
azure_cdc_admin新角色權限。-- grant role for replication management to the new user GRANT azure_cdc_admin TO <entra_user>; -- grant create permission on the database to mirror to the new user GRANT CREATE ON DATABASE <database_to_mirror> TO <entra_user>;
使用 PostgreSQL 角色
使用 pgAdmin 連線到適用於 PostgreSQL 的 Azure 資料庫彈性伺服器。 您應該與角色成員
azure_pg_admin的主體連線。建立名為
fabric_user的 PostgreSQL 角色。 您可以選擇此角色的任何名稱。 提供您自己的強式密碼。 授與資料庫中 Fabric 鏡像所需的許可權。 執行下列 SQL 指令碼,將 、 、CREATEDBCREATEROLELOGIN和REPLICATION權限授與azure_cdc_admin名為fabric_user的新角色。-- create a new user to connect from Fabric CREATE ROLE fabric_user CREATEDB CREATEROLE LOGIN REPLICATION PASSWORD '<strong password>'; -- grant role for replication management to the new user GRANT azure_cdc_admin TO fabric_user; -- grant create permission on the database to mirror to the new user GRANT CREATE ON DATABASE <database_to_mirror> TO fabric_user;
使用上述兩種方法之一建立的資料庫使用者,也必須是鏡像資料庫中要複製的資料表的owner。 這表示該使用者已建立表格,或已使用 ALTER TABLE <table name here> OWNER TO <user>;變更這些表格的所有權。
- 將擁有權切換給新使用者時,您可能需要先前授與該使用者結構描述的所有
public權限。 如需使用者帳戶管理的詳細資訊,請參閱適用於 PostgreSQL 的 Azure 資料庫使用者 管理 檔、 資料庫角色和許可權、 GRANT 語法和 許可權的 PostgreSQL 產品檔。
這很重要
遺漏先前的其中一個安全性設定步驟,會導致 Fabric 入口網站中的後續鏡像作業失敗,並顯示訊息 Internal error 。
建立鏡像的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器
- 開啟 Fabric 入口網站。
- 使用現有的工作區,或建立新的工作區。
- 流覽至 [建立 ] 窗格,或選取 [ 新增專案 ] 按鈕。 選取 建立 圖示。
- 捲動至 [ 資料倉儲 ] 區段,然後選取 [鏡像的適用於 PostgreSQL 的 Azure 資料庫 (預覽版)]。
連線到適用於 PostgreSQL 的 Azure 資料庫彈性伺服器
下列步驟會引導您完成建立適用於 PostgreSQL 的 Azure 資料庫彈性伺服器連線的程式:
- 在 [新增來源] 底下,選取 [適用於 PostgreSQL 的 Azure 資料庫 (預覽版)。 或者,從 OneLake 中樞選取現有的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器連線。
- 如果您選取 [ 新增連線],請輸入適用於 PostgreSQL 的 Azure 資料庫彈性伺服器的連線詳細資料。
-
伺服器:您可以流覽至 Azure 入口網站中的 Azure Database for PostgreSQL 彈性伺服器概觀頁面,以尋找伺服器名稱。 例如:
<server-name>.postgres.database.azure.com。 - 資料庫:輸入適用於 PostgreSQL 的 Azure 資料庫彈性伺服器的名稱。
- 連線:建立新連線。
- 連線名稱:提供自動名稱。 您可以變更。
- 資料閘道:選取可用的 VNET 資料閘道 ,以使用 VNET 整合或私人端點連線適用於 PostgreSQL 的 Azure 資料庫彈性伺服器。
-
驗證類型:
- 基本 (PostgreSQL 驗證)
- 組織帳號(Entra 認證)
- 保留選取 [ 使用加密連線 ] 核取方塊,並取消選取 此連線可與內部部署資料閘道和 VNET 資料閘道搭配使用 。
-
伺服器:您可以流覽至 Azure 入口網站中的 Azure Database for PostgreSQL 彈性伺服器概觀頁面,以尋找伺服器名稱。 例如:
- 選擇 連線。
啟動鏡像程序
- 依預設,[設定鏡像] 畫面可讓您鏡像資料庫中的所有資料。
- 鏡像所有資料表示在啟動鏡像後建立的任何新資料表都會被鏡像。
- (選擇性) 僅選擇要鏡像的特定物件。 停用 [鏡像所有資料] 選項,然後從資料庫選取個別資料表。 在本教學課程中,我們會選取「鏡像所有資料」 選項。
- 選取 [鏡像資料庫]。 映射開始。
- 等候 2-5 分鐘。 然後,選取 監視複寫 以查看狀態。
- 幾分鐘後,狀態應該會變更為 [執行中],這表示資料表正在同步處理。 如果您沒有看到資料表和對應的複寫狀態,請等待幾秒鐘,然後重新整理面板。
- 當他們完成資料表的初始複製時,日期就會在 [上次重新整理] 資料行中顯示。
- 現在您的資料已啟動並順利運行,Fabric 平台提供各種可用的分析場景。
這很重要
在源資料庫中建立的任何細微安全性,都必須在 Microsoft Fabric 的鏡像資料庫中重新設定。 請參閱 Microsoft Fabric 中的 SQL 細微許可權。
監視網狀架構鏡像
設定鏡像後,系統會將您導向至 [鏡像狀態] 頁面。 在此,您可監視複寫的目前狀態。 如需有關複寫狀態的更多信息和細節,請參閱 監控 Fabric 鏡像資料庫複寫。