Udostępnij za pomocą


Samouczek: konfigurowanie dublowanych baz danych usługi Microsoft Fabric z usługi Azure Database for PostgreSQL

Dublowanie w sieci szkieletowej (teraz ogólnie dostępne) to technologia SaaS oparta na chmurze, zero-ETL. W tej sekcji dowiesz się, jak utworzyć dublowany serwer elastyczny usługi Azure Database for PostgreSQL, który tworzy kopię danych PostgreSQL tylko do odczytu i stale replikowaną kopię danych PostgreSQL w usłudze OneLake.

Ważne

Nowo utworzone serwery elastyczne usługi Azure Database for PostgreSQL po konferencji Ignite 2025 automatycznie będą zawierać najnowszą wersję komponentów do mirroringu, która jest powszechnie dostępna. Istniejące serwery są uaktualniane stopniowo w ramach następnych cykli konserwacji bez konieczności ręcznej interwencji. Nie musisz wyłączać i ponownie włączać dublowania w celu odbierania aktualizacji.

Wymagania wstępne

  • Utwórz lub użyj istniejącego serwera elastycznego usługi Azure Database for PostgreSQL.
  • Potrzebujesz istniejącej pojemności dla Fabric. Jeśli tego nie zrobisz, uruchom wersję próbną usługi Fabric.
  • Pojemność Fabric musi być aktywna i uruchomiona. Wstrzymana lub usunięta pojemność również zatrzymuje dublowanie i żadne dane nie zostaną zreplikowane.
  • Wymagane są ustawienia tenantów w sieci typu fabric. Upewnij się, że są włączone następujące dwa ustawienia dzierżawy Fabric :
  • Musisz mieć rolę członka lub administratora w obszarze roboczym podczas tworzenia zduplikowanej bazy danych z portalu Fabric. Podczas tworzenia tożsamość zarządzana usługi Azure Database for PostgreSQL jest automatycznie udzielana uprawnienie "Odczyt i zapis" w dublowanej bazie danych. Użytkownicy z rolą współautora nie mają uprawnień do udostępniania dalej niezbędnego do wykonania tego kroku.
  • Jeśli serwer elastyczny nie ma włączonej łączności publicznej lub nie zezwala usługom platformy Azure na łączenie się z nim, możesz utworzyć bramę danych sieci wirtualnej w celu dublowania danych. Upewnij się, że sieć wirtualna platformy Azure lub sieć maszyny bramy może łączyć się z serwerem elastycznym usługi Azure Database for PostgreSQL za pośrednictwem prywatnego punktu końcowego lub jest dozwolona przez regułę zapory.
  • Dublowanie sieci szkieletowej nie jest obsługiwane w repliki do odczytu ani na serwerze podstawowym, na którym istnieje replika do odczytu.

Przygotowywanie usługi Azure Database for PostgreSQL

Dublowanie na serwerze elastycznym usługi Azure Database for PostgreSQL jest oparte na replikacji logicznej i wymaga skonfigurowania określonych wymagań wstępnych przed nawiązaniem połączenia z danymi.

Ważne

Aby umożliwić użytkownikom włączenie tych wymagań wstępnych, utworzyliśmy określoną stronę dublowania sieci szkieletowej w witrynie Azure Portal, która automatyzuje wszystkie te wymagania. Aby uzyskać więcej informacji, zobacz Pojęcia dotyczące dublowania sieci szkieletowej dla serwera elastycznego PostgreSQL.

  • System-Assigned tożsamość zarządzana (SAMI) musi być włączona.
  • Parametr wal_level serwera dla dziennika z wyprzedzeniem zapisu (WAL) musi być ustawiony na wartość logiczną.
  • Rozszerzenie (azure_cdc) jest wymagane i musi być dozwolone i wstępnie załadowane (wymaga ponownego uruchomienia).
  • Parametr max_worker_processes serwera musi zostać zwiększony o 3 dla każdej dublowanej bazy danych na serwerze źródłowym.

Rola bazy danych na potrzeby dublowania sieci szkieletowej

Następnie należy podać lub utworzyć rolę PostgreSQL lub Entra ID dla usługi Fabric, aby nawiązać połączenie z serwerem elastycznym usługi Azure Database for PostgreSQL.

Można to zrobić, określając rolę bazy danych na potrzeby nawiązywania połączenia z systemem źródłowym przy użyciu jednej z następujących opcji:

Użyj roli Entra ID

  1. Postępuj zgodnie z tymi instrukcjami , aby zamapować użytkownika lub grupę identyfikatora Entra na rolę bazy danych PostgreSQL.

  2. Po zakończeniu możesz użyć następującego skryptu SQL, aby przypisać uprawnienia azure_cdc_admin do nowej roli.

    -- 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>;
    

Korzystanie z roli PostgreSQL

  1. Połącz się z serwerem elastycznym usługi Azure Database for PostgreSQL przy użyciu narzędzia pgAdmin. Należy nawiązać połączenie z podmiotem zabezpieczeń, który jest członkiem roli azure_pg_admin.

  2. Utwórz rolę PostgreSQL o nazwie fabric_user. Możesz wybrać dowolną nazwę tej roli. Podaj własne silne hasło. Udziel uprawnień wymaganych do dublowania sieci szkieletowej w bazie danych. Uruchom następujący skrypt SQL, aby udzielić CREATEDBuprawnień , , CREATEROLELOGIN, REPLICATIONi azure_cdc_admin nowej roli o nazwie 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;
    

Użytkownik bazy danych utworzony przy użyciu jednej z dwóch poprzednich metod musi również zawierać owner tabele do replikacji w dublowanej bazie danych. Oznacza to, że tabele zostały utworzone przez tego użytkownika lub że własność tych tabel została zmieniona przy użyciu polecenia ALTER TABLE <table name here> OWNER TO <user>;.

  • Podczas przełączania własności na nowego użytkownika może być konieczne nadanie temu użytkownikowi wszystkich uprawnień w public schemacie przed. Aby uzyskać więcej informacji na temat zarządzania kontami użytkowników, zobacz dokumentację zarządzania użytkownikami usługi Azure Database for PostgreSQL, dokumentację produktu PostgreSQL dotyczącą ról i uprawnień bazy danych, składni GRANT i uprawnień.

Ważne

Brak jednego z poprzednich kroków konfiguracji zabezpieczeń spowoduje niepowodzenie kolejnych operacji dublowanych w portalu sieci szkieletowej z komunikatem Internal error .

Tworzenie dublowanego serwera elastycznego usługi Azure Database for PostgreSQL

  1. Otwórz portal Fabric.
  2. Użyj istniejącego obszaru roboczego lub utwórz nowy obszar roboczy.
  3. Przejdź do okienka Utwórz lub wybierz przycisk Nowy element . Wybierz ikonę Utwórz .
  4. Przewiń do sekcji Magazyn danych, a następnie wybierz pozycję Dublowana usługa Azure Database for PostgreSQL (wersja zapoznawcza).

Nawiązywanie połączenia z elastycznym serwerem usługi Azure Database for PostgreSQL

Poniższe kroki prowadzą przez proces tworzenia połączenia z serwerem elastycznym usługi Azure Database for PostgreSQL:

  1. W obszarze Nowe źródła wybierz pozycję Azure Database for PostgreSQL (wersja zapoznawcza). Możesz też wybrać istniejące połączenie serwera elastycznego usługi Azure Database for PostgreSQL z centrum OneLake.
  2. W przypadku wybrania opcji Nowe połączenie wprowadź szczegóły połączenia z serwerem elastycznym usługi Azure Database for PostgreSQL.
    • Serwer: Nazwę serwera można znaleźć, przechodząc do strony Omówienie serwera elastycznego usługi Azure Database for PostgreSQL w witrynie Azure Portal. Na przykład <server-name>.postgres.database.azure.com.
    • Baza danych: wprowadź nazwę serwera elastycznego usługi Azure Database for PostgreSQL.
    • Połączenie: Utwórz nowe połączenie.
    • Nazwa połączenia: podano nazwę automatyczną. Możesz go zmienić.
    • Brama danych: wybierz dostępną bramę danych sieci wirtualnej, aby połączyć elastyczny serwer usługi Azure Database for PostgreSQL z integracją sieci wirtualnej lub prywatnymi punktami końcowymi.
    • Rodzaj uwierzytelniania:
      • Podstawowa (uwierzytelnianie PostgreSQL)
      • Konto organizacyjne (Uwierzytelnianie Entra)
    • Pozostaw zaznaczone pole wyboru Użyj szyfrowanego połączenia i tego połączenia można użyć z niezaznaczonej lokalnej bramy danych i bramy danych sieci wirtualnej .
  3. Wybierz i podłącz.

Rozpoczynanie procesu mirrorowania

  1. Ekran Konfigurowanie dublowania umożliwia dublowanie wszystkich danych w bazie danych domyślnie.
    • Dublowanie wszystkich danych oznacza, że wszystkie nowe tabele utworzone po uruchomieniu dublowania zostaną zdublowane.
    • Opcjonalnie wybierz tylko niektóre obiekty do odbijania. Wyłącz opcję Dubluj wszystkie dane , a następnie wybierz poszczególne tabele z bazy danych. Na potrzeby tego samouczka wybierzemy opcję Dubluj wszystkie dane .
  2. Wybierz pozycję Dublowanie bazy danych. Rozpoczyna się odbijanie.
  3. Poczekaj 2–5 minut. Następnie wybierz pozycję Monitoruj replikację , aby wyświetlić stan.
  4. Po kilku minutach stan powinien ulec zmianie na Uruchomiono, co oznacza, że tabele są synchronizowane. Jeśli nie widzisz tabel i odpowiedniego stanu replikacji, zaczekaj kilka sekund, a następnie odśwież panel.
  5. Po zakończeniu początkowej kopii tabel data pojawi się w kolumnie Ostatnie odświeżanie .
  6. Teraz, gdy Twoje dane są gotowe do działania, dostępne są różne scenariusze analityczne we wszystkich usługach Fabric.

Ważne

Wszelkie szczegółowe zabezpieczenia ustanowione w źródłowej bazie danych muszą zostać ponownie skonfigurowane w dublowanej bazie danych w usłudze Microsoft Fabric. Zobacz Szczegółowe uprawnienia sql w usłudze Microsoft Fabric.

Monitorowanie dublowania sieci szkieletowej

Po skonfigurowaniu dublowania następuje przekierowanie do strony Stan dublowania . W tym miejscu można monitorować bieżący stan replikacji. Aby uzyskać więcej informacji i szczegóły na temat stanów replikacji, zobacz Monitorowanie replikacji dublowanej bazy danych w Fabric.