Samouczek: konfigurowanie usługi SQL Data Sync do synchronizacji między bazami danych w usłudze Azure SQL Database i programie SQL Server

Dotyczy:Azure SQL Database

Z tego samouczka dowiesz się, jak skonfigurować usługę SQL Data Sync, tworząc grupę synchronizacji zawierającą zarówno wystąpienia usługi Azure SQL Database, jak i sql Server. Grupa synchronizacji jest skonfigurowana niestandardowa i synchronizuje się zgodnie z ustawionym harmonogramem.

W tym samouczku założono, że masz co najmniej pewne wcześniejsze doświadczenie z usługą SQL Database i programem SQL Server.

Aby zapoznać się z omówieniem usługi SQL Data Sync, zobacz Synchronizowanie danych między chmurą i lokalnymi bazami danych za pomocą usługi SQL Data Sync.

Przykłady programu PowerShell dotyczące konfigurowania usługi SQL Data Sync można znaleźć w temacie How to sync between databases in SQL Database or between databases in Azure SQL Database and SQL Server (Jak synchronizować bazy danych w usłudze SQL Database lub między bazami danych w usłudze Azure SQL Database i programie SQL Server)

Ważne

Baza danych centrum to centralny punkt końcowy topologii synchronizacji, w którym grupa synchronizacji ma wiele punktów końcowych bazy danych. Wszystkie inne bazy danych członkowskich z punktami końcowymi w grupie synchronizacji są synchronizowane z bazą danych centrum .

Obecnie usługa SQL Data Sync jest obsługiwana tylko w usłudze Azure SQL Database. Baza danych piasty musi być usługą Azure SQL Database.

Hiperskala usługi Azure SQL Database jest obsługiwana tylko jako baza danych członkowskich, a nie jako baza danych koncentratora .

Tworzenie grupy synchronizacji

  1. Przejdź do portalu Azure Portal. Wyszukaj i wybierz pozycję Bazy danych SQL, aby znaleźć istniejącą bazę danych Azure SQL Database.

  2. Wybierz istniejącą bazę danych, której chcesz użyć jako bazy danych centrum dla usługi Data Sync.

  3. W menu zasobów bazy danych SQL dla wybranej bazy danych w obszarze Zarządzanie danymi wybierz pozycję Synchronizuj z innymi bazami danych.

  4. Na stronie Synchronizacja z innymi bazami danych wybierz pozycję Nowa grupa synchronizacji. Zostanie otwarta strona Tworzenie grupy synchronizacji danych.

  5. Na stronie Tworzenie grupy synchronizacji danych skonfiguruj następujące ustawienia:

    A screenshot from the Create Data Sync page of the Azure portal, creating a new Sync Metadata Database to use with Automatic Sync.

    Ustawienie opis
    Nazwa grupy synchronizacji Wprowadź nazwę nowej grupy synchronizacji. Ta nazwa różni się od samej nazwy bazy danych.
    Synchronizowanie bazy danych metadanych Wybierz utworzenie bazy danych (zalecane) lub użycie istniejącej bazy danych do obsługi jako bazy danych metadanych synchronizacji.

    Firma Microsoft zaleca utworzenie nowej, pustej bazy danych do użycia jako baza danych metadanych synchronizacji. Usługa Data Sync tworzy tabele w tej bazie danych i uruchamia częste obciążenie. Ta baza danych jest udostępniana jako baza danych metadanych synchronizacji dla wszystkich grup synchronizacji w wybranym regionie i subskrypcji. Nie można zmienić bazy danych ani jej nazwy bez usuwania wszystkich grup synchronizacji i agentów synchronizacji w regionie.

    Jeśli zdecydujesz się utworzyć nową bazę danych, wybierz pozycję Nowa baza danych. Wybierz pozycję Konfiguruj ustawienia bazy danych. Na stronie SQL Database nadaj nazwę i skonfiguruj nową usługę Azure SQL Database, a następnie wybierz przycisk OK.

    Jeśli wybierzesz pozycję Użyj istniejącej bazy danych, wybierz bazę danych z listy rozwijanej Baza danych metadanych synchronizacji.
    Automatyczna synchronizacja Wybierz pozycję Włączone lub Wyłączone.

    Jeśli wybierzesz pozycję Włączone, wprowadź liczbę i wybierz pozycję Sekundy, Minuty, Godziny lub Dni w sekcji Częstotliwość synchronizacji.
    Pierwsza synchronizacja rozpoczyna się po upływie wybranego okresu interwału od czasu zapisania konfiguracji.
    Konfliktów Wybierz pozycję Wygraj centrum lub Wygraj członka.

    Zwycięstwo koncentratora oznacza, że gdy wystąpią konflikty, dane w bazie danych centrum zastępują dane powodujące konflikt w bazie danych członkowskich.

    Wygrana składowa oznacza, gdy wystąpią konflikty, dane w bazie danych składowej zastępują dane powodujące konflikt w bazie danych centrum.
    Nazwa użytkownika bazy danych centrum i hasło bazy danych centrum Podaj nazwę użytkownika i hasło do uwierzytelnionych identyfikatorów logowania SQL administratora serwera dla bazy danych Centrum . Jest to nazwa użytkownika i hasło administratora serwera dla tego samego serwera logicznego Usługi Azure SQL, na którym uruchomiono. Uwierzytelnianie microsoft Entra (dawniej Azure Active Directory) nie jest obecnie obsługiwane.
    Korzystanie z łącza prywatnego Wybierz prywatny punkt końcowy zarządzany przez usługę, aby ustanowić bezpieczne połączenie między usługą synchronizacji a bazą danych centrum.
  6. Wybierz przycisk OK i poczekaj na utworzenie i wdrożenie grupy synchronizacji.

  7. Jeśli na stronie Nowa grupa synchronizacji wybrano opcję Użyj łącza prywatnego, musisz zatwierdzić połączenie prywatnego punktu końcowego. Link w komunikacie informacyjnym spowoduje przejście do środowiska połączeń prywatnego punktu końcowego, w którym można zatwierdzić połączenie.

    A screenshot from the Azure portal Private Endpoint connections page, showing where to approve a private link.

    Uwaga

    Linki prywatne dla grupy synchronizacji i członków synchronizacji muszą zostać utworzone, zatwierdzone i wyłączone oddzielnie.

Dodawanie członków synchronizacji

Po utworzeniu i wdrożeniu nowej grupy synchronizacji otwórz grupę synchronizacji i uzyskaj dostęp do strony Bazy danych , gdzie wybierzesz członków synchronizacji.

Uwaga

Aby zaktualizować lub wstawić nazwę użytkownika i hasło do bazy danych centrum, przejdź do sekcji Baza danych centrum na stronie Wybieranie członków synchronizacji.

Dodawanie bazy danych w usłudze Azure SQL Database jako członka do grupy synchronizacji

  1. W sekcji Wybieranie członków synchronizacji opcjonalnie dodaj bazę danych w usłudze Azure SQL Database do grupy synchronizacji, wybierając pozycję Dodaj bazę danych azure. Zostanie otwarta strona Konfigurowanie usługi Azure Database .

    A screenshot from the Azure portal of the Configure Azure Database page, where you can add a database to the sync group.

  2. Na stronie Konfigurowanie usługi Azure SQL Database zmień następujące ustawienia:

    Ustawienie opis
    Nazwa elementu członkowskiego synchronizacji Podaj nazwę nowego elementu członkowskiego synchronizacji. Ta nazwa różni się od samej nazwy bazy danych.
    Subskrypcja Wybierz skojarzona subskrypcja platformy Azure na potrzeby rozliczeń.
    Azure SQL Server Wybierz istniejący serwer.
    Azure SQL Database Wybierz istniejącą bazę danych w usłudze SQL Database.
    Wskazówki synchronizacji Kierunek synchronizacji może być koncentratorem do elementu członkowskiego lub elementu członkowskiego do centrum lub obu tych elementów. Wybierz pozycję Z centrum, Do centrum lub Synchronizacja dwukierunkowa. Aby uzyskać więcej informacji, zobacz Jak to działa.
    Nazwa użytkownika i hasło Wprowadź istniejące poświadczenia serwera, na którym znajduje się baza danych składowych. Nie wprowadzaj nowych poświadczeń w tej sekcji.
    Korzystanie z łącza prywatnego Wybierz prywatny punkt końcowy zarządzany przez usługę, aby nawiązać bezpieczne połączenie między usługą synchronizacji a bazą danych składowych.
  3. Wybierz przycisk OK i poczekaj na utworzenie i wdrożenie nowego elementu członkowskiego synchronizacji.

Dodawanie bazy danych w wystąpieniu programu SQL Server jako członka do grupy synchronizacji

  1. W sekcji Baza danych składowych opcjonalnie dodaj bazę danych w wystąpieniu programu SQL Server do grupy synchronizacji, wybierając pozycję Dodaj lokalną bazę danych.

  2. Zostanie otwarta strona Konfigurowanie środowiska lokalnego , na której można wykonać następujące czynności:

  3. Wybierz pozycję Wybierz bramę agenta synchronizacji. Zostanie otwarta strona Wybierz agenta synchronizacji.

    A screenshot from the Azure portal, in the Configure On-Premises steps. When the Choose the Sync Agent Gateway option is selected, the Select Sync Agent page is shown.

  4. Na stronie Wybieranie agenta synchronizacji wybierz, czy chcesz użyć istniejącego agenta, czy utworzyć agenta.

    Jeśli wybierzesz pozycję Istniejący agenci, wybierz istniejącego agenta z listy.

    Jeśli wybierzesz pozycję Utwórz nowego agenta, wykonaj następujące czynności:

    1. Pobierz agenta synchronizacji danych z podanego linku i zainstaluj go na serwerze, który różni się od lokalizacji wystąpienia programu SQL Server. Agenta można również pobrać bezpośrednio z agenta usługi Azure SQL Data Sync. Aby uzyskać najlepsze rozwiązania dotyczące agenta klienta synchronizacji, zobacz Najlepsze rozwiązania dotyczące usługi Azure SQL Data Sync.

      Ważne

      Musisz otworzyć wychodzący port TCP 1433 w zaporze, aby umożliwić agentowi klienta komunikację z serwerem.

    2. Wprowadź nazwę agenta.

    3. Wybierz pozycję Utwórz i Wygeneruj klucz i skopiuj klucz agenta do schowka.

    4. Wybierz przycisk OK , aby zamknąć stronę Wybierz agenta synchronizacji.

  5. Na serwerze, na którym jest zainstalowany agent klienta synchronizacji, znajdź i uruchom aplikację Agent synchronizacji klienta.

    A screenshot from the Microsoft SQL Data Sync 2.0 client agent app. The Submit Agent Key button is highlighted.

    1. W aplikacji agenta synchronizacji wybierz pozycję Prześlij klucz agenta. Zostanie otwarte okno dialogowe Synchronizacja konfiguracji bazy danych metadanych.

    2. W oknie dialogowym Synchronizacja konfiguracji bazy danych metadanych wklej klucz agenta skopiowany z witryny Azure Portal. Podaj również istniejące poświadczenia serwera, na którym znajduje się baza danych metadanych synchronizacji. Wybierz przycisk OK i poczekaj na zakończenie konfiguracji.

      A screenshot from the Microsoft SQL Data Sync 2.0 client agent app. Enter the agent key and server credentials.

      Uwaga

      Jeśli wystąpi błąd zapory, utwórz regułę zapory na platformie Azure, aby zezwolić na ruch przychodzący z komputera z programu SQL Server. Regułę można utworzyć ręcznie w portalu lub w programie SQL Server Management Studio (SSMS). W programie SSMS nawiąż połączenie z bazą danych centrum na platformie Azure, wprowadzając jego nazwę jako <hub_database_name>.database.windows.net.

    3. Wybierz pozycję Zarejestruj, aby zarejestrować bazę danych programu SQL Server przy użyciu agenta. Zostanie otwarte okno dialogowe Konfiguracja programu SQL Server.

      A screenshot from the Microsoft SQL Data Sync 2.0 client agent app. Add and configure a SQL Server database.

    4. W oknie dialogowym Konfiguracja programu SQL Server wybierz połączenie przy użyciu uwierzytelniania programu SQL Server lub uwierzytelniania systemu Windows. W przypadku wybrania uwierzytelniania programu SQL Server wprowadź istniejące poświadczenia. Podaj nazwę programu SQL Server i nazwę bazy danych, którą chcesz zsynchronizować, i wybierz pozycję Testuj połączenie , aby przetestować ustawienia. Następnie wybierz pozycję Zapisz , a zarejestrowana baza danych pojawi się na liście.

      A screenshot from the Microsoft SQL Data Sync 2.0 application showing that the SQL Server database and machine are now registered.

    5. Zamknij aplikację Agent synchronizacji klienta.

  6. W witrynie Azure Portal na stronie Konfigurowanie środowiska lokalnego wybierz pozycję Wybierz bazę danych.

  7. Na stronie Wybieranie bazy danych w polu Nazwa elementu członkowskiego synchronizacji podaj nazwę nowego elementu członkowskiego synchronizacji. Ta nazwa różni się od samej nazwy bazy danych. Wybierz bazę danych z listy. W polu Kierunek synchronizacji wybierz pozycję Synchronizacja dwukierunkowa, Do centrum lub Z centrum.

  8. Wybierz przycisk OK , aby zamknąć stronę Wybierz bazę danych . Następnie wybierz przycisk OK , aby zamknąć stronę Konfigurowanie środowiska lokalnego i poczekać na utworzenie i wdrożenie nowego elementu członkowskiego synchronizacji. Na koniec wybierz przycisk OK , aby zamknąć stronę Wybieranie członków synchronizacji.

Uwaga

Aby nawiązać połączenie z usługą SQL Data Sync i agentem lokalnym, dodaj nazwę użytkownika do roli DataSync_Executor. Usługa Data Sync tworzy tę rolę w wystąpieniu programu SQL Server.

Konfigurowanie grupy synchronizacji

Po utworzeniu i wdrożeniu nowych członków grupy synchronizacji przejdź do sekcji Tabele na stronie Grupa synchronizacji bazy danych.

A screenshot from the Azure portal, on the Tables page, select tables and fields to sync.

  1. Na stronie Tabele wybierz bazę danych z listy członków grupy synchronizacji i wybierz pozycję Odśwież schemat. W przypadku korzystania z łącza prywatnego opóźnienie w schemacie odświeżania może potrwać kilka minut.

  2. Z listy wybierz tabele, które chcesz zsynchronizować. Domyślnie wszystkie kolumny są zaznaczone, więc wyłącz pole wyboru dla kolumn, których nie chcesz synchronizować. Pamiętaj, aby pozostawić wybraną kolumnę klucza podstawowego.

  3. Wybierz pozycję Zapisz.

  4. Domyślnie bazy danych nie są synchronizowane do czasu zaplanowanego lub ręcznego uruchomienia. Aby uruchomić ręczną synchronizację, przejdź do bazy danych w usłudze SQL Database w witrynie Azure Portal, wybierz pozycję Synchronizuj z innymi bazami danych i wybierz grupę synchronizacji. Zostanie otwarta strona Synchronizacja danych. Wybierz opcję Synchronizuj.

    A screenshot from the Azure portal showing the manual sync button for a Database Sync Group.

Często zadawane pytania

Ta sekcja zawiera odpowiedzi na często zadawane pytania dotyczące usługi Azure SQL Data Sync.

Czy usługa SQL Data Sync w pełni tworzy tabele?

Jeśli w docelowej bazie danych brakuje tabel schematu synchronizacji, usługa SQL Data Sync tworzy je z wybranymi kolumnami. Jednak nie powoduje to zachowania pełnej wierności schematu z następujących powodów:

  • W tabeli docelowej są tworzone tylko wybrane kolumny. Niewybrane kolumny są ignorowane.
  • W tabeli docelowej są tworzone tylko wybrane indeksy kolumn. Indeksy niewybranych kolumn są ignorowane.
  • Indeksy w kolumnach typu XML nie są tworzone.
  • Ograniczenia CHECK nie są tworzone.
  • Wyzwalacze w tabelach źródłowych nie są tworzone.
  • Widoki i procedury składowane nie są tworzone.

Ze względu na te ograniczenia zalecamy następujące rozwiązania:

  • W środowiskach produkcyjnych samodzielne utworzenie schematu o pełnej wierności.
  • W przypadku eksperymentowania z usługą użycie funkcji automatycznej aprowizacji.

Dlaczego nie widzę tabel, które nie utworzono?

Usługa Data Sync tworzy dodatkowe tabele w bazie danych na potrzeby śledzenia zmian. Nie usuwaj tych elementów ani usługa Data Sync przestaje działać.

Czy moje dane są zbieżne po synchronizacji?

Niekoniecznie. Przejmij grupę synchronizacji z piastą i trzema szprychami (A, B i C), gdzie synchronizacje to Koncentrator do A, Koncentrator do B i Piasta do C. Jeśli zmiana w bazie danych A zostanie wprowadzona po synchronizacji centrum do A, ta zmiana nie zostanie zapisana w bazie danych B lub bazie danych C do następnego zadania synchronizacji.

Jak mogę uzyskać zmiany schematu w grupie synchronizacji?

Ręczne wprowadzanie i propagowanie wszystkich zmian schematu.

  1. Ręczne replikowanie zmian schematu do centrum i wszystkich członków synchronizacji.
  2. Zaktualizuj schemat synchronizacji.

Aby dodać nowe tabele i kolumny:

Nowe tabele i kolumny nie mają wpływu na bieżącą synchronizację, a usługa Data Sync ignoruje je do momentu dodania ich do schematu synchronizacji. Podczas dodawania nowych obiektów bazy danych postępuj zgodnie z sekwencją:

  1. Dodaj nowe tabele lub kolumny do centrum i do wszystkich składowych synchronizacji.
  2. Dodaj nowe tabele lub kolumny do schematu synchronizacji.
  3. Rozpocznij wstawianie wartości do nowych tabel i kolumn.

Aby zmienić typ danych kolumny:

Po zmianie typu danych istniejącej kolumny usługa Data Sync będzie nadal działać tak długo, jak nowe wartości pasują do oryginalnego typu danych zdefiniowanego w schemacie synchronizacji. Jeśli na przykład zmienisz typ źródłowej bazy danych z int na bigint, usługa Data Sync będzie nadal działać, dopóki nie wstawisz zbyt dużej wartości dla typu danych int. Aby ukończyć zmianę, zreplikuj zmianę schematu ręcznie do centrum i do wszystkich elementów członkowskich synchronizacji, a następnie zaktualizuj schemat synchronizacji.

Jak mogę wyeksportować i zaimportować bazę danych za pomocą usługi Data Sync?

Po wyeksportowaniu bazy danych jako .bacpac pliku i zaimportowaniu pliku w celu utworzenia bazy danych wykonaj następujące czynności, aby użyć usługi Data Sync w nowej bazie danych:

  1. Wyczyść obiekty usługi Data Sync i dodatkowe tabele w nowej bazie danych przy użyciu funkcji Data Sync complete cleanup.sql. Skrypt usuwa wszystkie wymagane obiekty synchronizacji danych z bazy danych.
  2. Utwórz ponownie grupę synchronizacji przy użyciu nowej bazy danych. Jeśli nie potrzebujesz już starej grupy synchronizacji, usuń ją.

Gdzie można znaleźć informacje na temat agenta klienta?

Aby uzyskać często zadawane pytania dotyczące agenta klienta, zobacz Często zadawane pytania dotyczące agenta.

Czy przed rozpoczęciem korzystania z niego należy ręcznie zatwierdzić link?

Tak. Należy ręcznie zatwierdzić zarządzany prywatny punkt końcowy usługi na stronie Połączenia prywatnego punktu końcowego w witrynie Azure Portal podczas wdrażania grupy synchronizacji lub przy użyciu programu PowerShell.

Dlaczego występuje błąd zapory, gdy zadanie synchronizacji aprowizuje bazę danych platformy Azure?

Może się tak zdarzyć, ponieważ zasoby platformy Azure nie mogą uzyskiwać dostępu do serwera. Istnieją dwa rozwiązania:

  1. Upewnij się, że zapora w bazie danych platformy Azure ma ustawioną opcję Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera na wartość Tak. Aby uzyskać więcej informacji, zobacz Azure SQL Database i kontrola dostępu do sieci.
  2. Skonfiguruj link prywatny dla usługi Data Sync, który różni się od usługi Azure Private Link. Usługa Private Link to sposób tworzenia grup synchronizacji przy użyciu bezpiecznego połączenia z bazami danych siedzącymi za zaporą. Usługa SQL Data Sync Private Link to punkt końcowy zarządzany przez firmę Microsoft i wewnętrznie tworzy podsieć w istniejącej sieci wirtualnej, więc nie ma potrzeby tworzenia innej sieci wirtualnej ani podsieci.

Następne kroki

Gratulacje! Utworzono grupę synchronizacji obejmującą zarówno bazę danych Azure SQL Database, jak i bazę danych programu SQL Server.

Aby uzyskać więcej informacji na temat usługi SQL Data Sync, zobacz:

Aby uzyskać więcej informacji na temat usługi SQL Database, zobacz: