Udostępnij za pośrednictwem


Konfigurowanie grupy trybu failover dla usługi Azure SQL Database

Dotyczy: Azure SQL Database

W tym artykule przedstawiono sposób konfigurowania grupy trybu failover dla pojedynczych baz danych i baz danych w puli w usłudze Azure SQL Database przy użyciu witryny Azure Portal, programu Azure PowerShell i interfejsu wiersza polecenia platformy Azure.

Aby uzyskać kompleksowe skrypty, zapoznaj się ze sposobem dodawania pojedynczej bazy danych do grupy trybu failover przy użyciu programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure.

Wymagania wstępne

Należy wziąć pod uwagę następujące wymagania wstępne dotyczące tworzenia grupy trybu failover dla pojedynczej bazy danych:

  • Podstawowa baza danych powinna zostać już utworzona. Utwórz pojedynczą bazę danych , aby rozpocząć pracę.
  • Jeśli serwer pomocniczy już istnieje w innym regionie niż serwer podstawowy, ustawienia logowania i zapory serwera muszą być zgodne z ustawieniami serwera podstawowego.

Tworzenie grupy trybu failover

Grupę trybu failover można utworzyć i dodać do niej pojedynczą bazę danych przy użyciu witryny Azure Portal, programu PowerShell i interfejsu wiersza polecenia platformy Azure.

Ważne

Jeśli musisz usunąć pomocniczą bazę danych po dodaniu jej do grupy trybu failover, usuń ją z grupy trybu failover przed usunięciem bazy danych. Usunięcie pomocniczej bazy danych przed usunięciem jej z grupy trybu failover może spowodować nieprzewidywalne zachowanie.

Aby utworzyć grupę trybu failover i dodać do niej pojedynczą bazę danych przy użyciu witryny Azure Portal, wykonaj następujące kroki:

  1. Jeśli znasz serwer logiczny hostujący bazę danych, przejdź bezpośrednio do niego w witrynie Azure Portal. Jeśli musisz znaleźć serwer, wykonaj następujące kroki:

    1. Wybierz pozycję Azure SQL w menu usługi. Jeśli usługa Azure SQL nie znajduje się na liście, wybierz pozycję Wszystkie usługi, a następnie wpisz Azure SQL w polu wyszukiwania. (Opcjonalnie) Wybierz gwiazdkę obok pozycji Azure SQL , aby ją dodać, i dodaj ją jako element w menu usługi.
    2. Na stronie Azure SQL znajdź bazę danych, którą chcesz dodać do grupy trybu failover, i wybierz ją, aby otworzyć okienko bazy danych SQL.
    3. W okienku Przegląd bazy danych SQL wybierz nazwę serwera w obszarze Nazwa serwera, aby otworzyć okienko programu SQL Server.

    Zrzut ekranu przedstawiający otwieranie serwera dla pojedynczej bazy danych w witrynie Azure Portal.

  2. W menu zasobów programu SQL Server wybierz pozycję Grupy trybu failover w obszarze Zarządzanie danymi. Wybierz pozycję + Dodaj grupę, aby otworzyć stronę grupy trybu failover, na której można utworzyć nową grupę trybu failover.

    Zrzut ekranu przedstawiający opcję Dodaj nową grupę trybu failover na stronie grupy trybu failover w witrynie Azure Portal.

  3. Na stronie Grupa trybu failover:

    1. Podaj nazwę grupy trybu failover.
    2. Wybierz istniejący serwer pomocniczy lub utwórz nowy serwer, wybierając pozycję Utwórz nowy w obszarze Serwer. Serwer pomocniczy w grupie trybu failover musi znajdować się w innym regionie niż serwer podstawowy.
    3. Wybierz pozycję Konfiguruj bazę danych, aby otworzyć stronę Bazy danych dla grupy trybu failover.

    Zrzut ekranu przedstawiający okienko grupy trybu failover w witrynie Azure Portal.

  4. Na stronie Bazy danych dla grupy trybu failover:

    1. Wybierz bazy danych, które chcesz dodać do grupy trybu failover (#1 na zrzucie ekranu).
    2. (Opcjonalnie) Wybierz pozycję Tak, jeśli zamierzasz wyznaczyć te bazy danych jako repliki rezerwowe do użycia tylko do odzyskiwania po awarii (nr 2 na zrzucie ekranu). Zaznacz to pole, aby potwierdzić, że użyjesz repliki do wstrzymania.
    3. Użyj pozycji Wybierz , aby zapisać wybór bazy danych i wrócić do strony grupy trybu failover (nie jest widoczna na zrzucie ekranu).

    Zrzut ekranu przedstawiający okienko bazy danych dla grupy trybu failover w witrynie Azure Portal.

  5. Użyj opcji Utwórz na stronie grupy trybu failover, aby utworzyć grupę trybu failover.

Testowanie planowanego przejścia w tryb failover

Przetestuj tryb failover grupy trybu failover bez utraty danych przy użyciu witryny Azure Portal lub programu PowerShell.

Aby przetestować tryb failover grupy trybu failover przy użyciu witryny Azure Portal, wykonaj następujące kroki:

  1. Jeśli znasz serwer logiczny hostujący bazę danych, przejdź bezpośrednio do niego w witrynie Azure Portal. Jeśli musisz znaleźć serwer, wykonaj następujące kroki:

    1. Wybierz pozycję Azure SQL w menu usługi. Jeśli usługa Azure SQL nie znajduje się na liście, wybierz pozycję Wszystkie usługi, a następnie wpisz Azure SQL w polu wyszukiwania. (Opcjonalnie) Wybierz gwiazdkę obok pozycji Azure SQL , aby ją dodać, i dodaj ją jako element w menu usługi.
    2. Na stronie Azure SQL znajdź bazę danych, dla której chcesz przetestować tryb failover, i wybierz ją, aby otworzyć okienko bazy danych SQL.
    3. W okienku Przegląd bazy danych SQL wybierz nazwę serwera w obszarze Nazwa serwera, aby otworzyć okienko programu SQL Server.

    Zrzut ekranu przedstawiający otwieranie serwera dla pojedynczej bazy danych w witrynie Azure Portal.

  2. W menu zasobów programu SQL Server wybierz pozycję Grupy trybu failover w obszarze Zarządzanie danymi, a następnie wybierz istniejącą grupę trybu failover, aby otworzyć stronę grupy trybu failover.

    Zrzut ekranu przedstawia grupy trybu failover, w których można wybrać grupę trybu failover dla programu SQL Server.

  3. Na stronie grupy trybu failover:

    1. Sprawdź, który serwer jest podstawowy i który serwer jest pomocniczy.
    2. Wybierz pozycję Tryb failover na pasku poleceń, aby przejąć grupę trybu failover zawierającą bazę danych w trybie failover.
    3. Wybierz pozycję Tak w ostrzeżeniu z powiadomieniem, że sesje TDS zostaną rozłączone.

    Zrzut ekranu przedstawiający stronę grupy trybu failover w witrynie Azure Portal z wybranym trybem failover.

  4. Sprawdź, który serwer jest teraz podstawowy i który serwer jest pomocniczy. Po pomyślnym przejściu w tryb failover dwa serwery zamieniają role, tak aby były podstawowy stał się pomocniczy.

  5. (Opcjonalnie) Ponownie wybierz pozycję Tryb failover , aby przywrócić serwery do oryginalnych ról.

Aby uzyskać kompleksowe skrypty, zapoznaj się ze sposobem dodawania elastycznej puli do grupy trybu failover za pomocą programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure.

Wymagania wstępne

Rozważ następujące wymagania wstępne dotyczące tworzenia grupy trybu failover dla bazy danych w puli:

  • Podstawowa elastyczna pula powinna już istnieć. Utwórz elastyczną pulę , aby rozpocząć pracę.
  • Jeśli serwer pomocniczy już istnieje, ustawienia logowania i zapory serwera muszą być zgodne z ustawieniami serwera podstawowego.

Tworzenie grupy trybu failover

Utwórz grupę trybu failover dla puli elastycznej przy użyciu witryny Azure Portal, programu PowerShell lub interfejsu wiersza polecenia platformy Azure.

Ważne

Jeśli musisz usunąć pomocniczą bazę danych po dodaniu jej do grupy trybu failover, usuń ją z grupy trybu failover przed usunięciem bazy danych. Usunięcie pomocniczej bazy danych przed usunięciem jej z grupy trybu failover może spowodować nieprzewidywalne zachowanie.

Aby utworzyć grupę trybu failover i dodać do niej elastyczną pulę przy użyciu witryny Azure Portal, wykonaj następujące kroki:

  1. Przejdź do strony Tworzenie elastycznej puli SQL w witrynie Azure Portal. Utwórz elastyczną pulę, która:

    • Ma taką samą nazwę jak pula elastyczna na serwerze podstawowym.
    • Używa serwera pomocniczego, który ma być używany dla grupy trybu failover. Serwer pomocniczy musi znajdować się w regionie innym niż serwer podstawowy, a ustawienia logowania i zapory serwera muszą być zgodne z ustawieniami serwera podstawowego. Utwórz nowy serwer, jeśli serwer pomocniczy jeszcze nie istnieje.
  2. Jeśli znasz serwer logiczny hostujący podstawową elastyczną pulę, przejdź bezpośrednio do niego w witrynie Azure Portal. Jeśli musisz znaleźć serwer, wykonaj następujące kroki:

    1. Wybierz pozycję Azure SQL w menu usługi. Jeśli usługa Azure SQL nie znajduje się na liście, wybierz pozycję Wszystkie usługi, a następnie wpisz Azure SQL w polu wyszukiwania. (Opcjonalnie) Wybierz gwiazdkę obok pozycji Azure SQL , aby ją dodać, i dodaj ją jako element w menu usługi.
    2. Na stronie Azure SQL znajdź elastyczną pulę, którą chcesz dodać do grupy trybu failover, i wybierz ją, aby otworzyć okienko elastycznej puli SQL.
    3. W okienku Przegląd elastycznej puli SQL wybierz nazwę serwera w obszarze Nazwa serwera, aby otworzyć okienko programu SQL Server .

    Zrzut ekranu przedstawiający wybieranie serwera dla elastycznej puli w witrynie Azure Portal.

  3. W menu zasobów programu SQL Server wybierz pozycję Grupy trybu failover w obszarze Zarządzanie danymi. Wybierz pozycję + Dodaj grupę, aby otworzyć stronę grupy trybu failover, na której można utworzyć nową grupę trybu failover.

    Zrzut ekranu przedstawiający stronę grup trybu failover w witrynie Azure Portal.

  4. Na stronie Grupa trybu failover:

    1. Podaj nazwę grupy trybu failover.
    2. Wybierz istniejący serwer pomocniczy. Serwer pomocniczy w grupie trybu failover musi znajdować się w innym regionie niż serwer podstawowy i zawierać pulę elastyczną o takiej samej nazwie jak serwer podstawowy.
    3. Wybierz pozycję Konfiguruj bazę danych, aby otworzyć stronę Bazy danych dla grupy trybu failover.

    Zrzut ekranu przedstawiający dodawanie elastycznej puli do grupy trybu failover w witrynie Azure Portal.

  5. Na stronie Bazy danych dla grupy trybu failover wybierz bazy danych w puli, które chcesz dodać do grupy trybu failover. Użyj pozycji Wybierz , aby zapisać wybór bazy danych i wrócić do strony grupy trybu failover.

    Zrzut ekranu przedstawiający okienko bazy danych dla grupy trybu failover w witrynie Azure Portal.

  6. Wybierz pozycję Utwórz na stronie grupy trybu failover, aby utworzyć grupę trybu failover. Dodanie elastycznej puli do grupy trybu failover powoduje automatyczne uruchomienie procesu replikacji geograficznej.

Testowanie planowanego przejścia w tryb failover

Przetestuj tryb failover elastycznej puli bez utraty danych przy użyciu witryny Azure Portal, programu PowerShell lub interfejsu wiersza polecenia platformy Azure.

Przełącz grupę trybu failover do serwera pomocniczego, a następnie wróć po awarii przy użyciu witryny Azure Portal.

  1. Jeśli znasz serwer logiczny hostujący podstawową elastyczną pulę, przejdź bezpośrednio do niego w witrynie Azure Portal. Jeśli musisz znaleźć serwer, wykonaj następujące kroki:

    1. Wybierz pozycję Azure SQL w menu usługi. Jeśli usługa Azure SQL nie znajduje się na liście, wybierz pozycję Wszystkie usługi, a następnie wpisz Azure SQL w polu wyszukiwania. (Opcjonalnie) Wybierz gwiazdkę obok pozycji Azure SQL , aby ją dodać, i dodaj ją jako element w menu usługi.
    2. Na stronie Azure SQL znajdź elastyczną pulę, którą chcesz dodać do grupy trybu failover, i wybierz ją, aby otworzyć okienko elastycznej puli SQL.
    3. W okienku Przegląd elastycznej puli SQL wybierz nazwę serwera w obszarze Nazwa serwera, aby otworzyć okienko programu SQL Server .

    Zrzut ekranu przedstawiający wybieranie serwera dla elastycznej puli w witrynie Azure Portal.

  2. W menu zasobów programu SQL Server wybierz pozycję Grupy trybu failover w obszarze Zarządzanie danymi, a następnie wybierz istniejącą grupę trybu failover, aby otworzyć stronę grupy trybu failover.

    Zrzut ekranu przedstawia grupy trybu failover, w których można wybrać grupę trybu failover dla programu SQL Server.

  3. Na stronie grupy trybu failover:

    1. Sprawdź, który serwer jest podstawowy i który serwer jest pomocniczy.
    2. Wybierz pozycję Tryb failover na pasku poleceń, aby przejąć grupę trybu failover zawierającą bazę danych w trybie failover.
    3. Wybierz pozycję Tak w ostrzeżeniu z powiadomieniem, że sesje TDS zostaną rozłączone.

    Zrzut ekranu przedstawiający wybieranie trybu failover na stronie Grupy trybu failover w witrynie Azure Portal.

  4. Sprawdź, który serwer jest teraz podstawowy i który serwer jest pomocniczy. Po pomyślnym przejściu w tryb failover dwa serwery zamieniają role, tak aby były podstawowy stał się pomocniczy.

  5. (Opcjonalnie) Ponownie wybierz pozycję Tryb failover , aby przywrócić serwery do oryginalnych ról.

Modyfikowanie istniejącej grupy trybu failover

Bazy danych można dodawać lub usuwać z istniejącej grupy trybu failover albo edytować ustawienia konfiguracji grupy trybu failover przy użyciu witryny Azure Portal, programu PowerShell i interfejsu wiersza polecenia platformy Azure.

Aby wprowadzić zmiany w istniejącej grupie trybu failover przy użyciu witryny Azure Portal, wykonaj następujące kroki:

  1. Jeśli znasz serwer logiczny hostujący bazę danych lub pulę elastyczną, przejdź bezpośrednio do niego w witrynie Azure Portal. Jeśli musisz znaleźć serwer, wykonaj następujące kroki:

    1. Wybierz pozycję Azure SQL w menu usługi. Jeśli usługa Azure SQL nie znajduje się na liście, wybierz pozycję Wszystkie usługi, a następnie wpisz Azure SQL w polu wyszukiwania. (Opcjonalnie) Wybierz gwiazdkę obok pozycji Azure SQL , aby ją dodać, i dodaj ją jako element w menu usługi.
    2. Na stronie Azure SQL znajdź bazę danych lub elastyczną pulę, którą chcesz zmodyfikować, i wybierz ją, aby otworzyć bazę danych SQL lub okienko elastycznej puli SQL.
    3. W okienku Przegląd dla bazy danych SQL lub elastycznej puli SQL wybierz nazwę serwera w obszarze Nazwa serwera, aby otworzyć okienko programu SQL Server .
  2. W menu zasobów programu SQL Server wybierz pozycję Grupy trybu failover w obszarze Zarządzanie danymi, a następnie wybierz istniejącą grupę trybu failover, aby otworzyć stronę grupy trybu failover.

    Zrzut ekranu przedstawia grupy trybu failover, w których można wybrać grupę trybu failover dla serwera SQL.

  3. Na stronie grupy trybu failover użyj paska poleceń:

    1. Aby dodać bazę danych, wybierz pozycję Dodaj bazy danych, aby otworzyć okienko Dodawanie baz danych do grupy trybu failover, a następnie rozwiń węzeł #Databases, aby wyświetlić listę baz danych na serwerze podstawowym. Zaznacz pole wyboru obok baz danych, które chcesz dodać do grupy trybu failover, a następnie użyj polecenia Wybierz , aby zapisać zmiany i dodać bazy danych.
    2. Aby usunąć bazę danych, wybierz pozycję Usuń bazy danych, aby otworzyć okienko Usuń bazy danych z grupy trybu failover, a następnie rozwiń węzeł #Databases, aby wyświetlić listę baz danych w grupie trybu failover. Zaznacz pole wyboru obok baz danych, które chcesz usunąć z grupy trybu failover, a następnie użyj polecenia Wybierz , aby zapisać zmiany i usunąć bazy danych.
    3. Aby edytować zasady trybu failover lub skonfigurować okres prolongaty, wybierz pozycję Edytuj konfigurację , aby otworzyć okienko Edytowanie konfiguracji grup trybu failover i zmodyfikować ustawienia. Użyj pozycji Wybierz , aby zapisać zmiany.

    Zrzut ekranu przedstawiający stronę grupy trybu failover w witrynie Azure Portal z wyróżnionym paskiem poleceń.

Użycie łącza prywatnego umożliwia skojarzenie serwera logicznego z określonym prywatnym adresem IP w sieci wirtualnej i podsieci.

Aby użyć łącza prywatnego z grupą trybu failover, wykonaj następujące czynności:

  1. Upewnij się, że serwery podstawowe i pomocnicze znajdują się w sparowanym regionie.
  2. Utwórz sieć wirtualną i podsieć w każdym regionie, aby hostować prywatne punkty końcowe dla serwerów podstawowych i pomocniczych, tak aby miały one przestrzenie adresowe IP nienadążające. Na przykład zakres adresów podstawowej sieci wirtualnej 10.0.0.0/16 i zakres adresów pomocniczej sieci wirtualnej 10.0.0.1/16 nakładają się na siebie. Aby uzyskać więcej informacji na temat zakresów adresów sieci wirtualnej, zobacz blog dotyczący projektowania sieci wirtualnych platformy Azure.
  3. Utwórz prywatny punkt końcowy i prywatną strefę DNS platformy Azure dla serwera podstawowego.
  4. Utwórz również prywatny punkt końcowy dla serwera pomocniczego, ale tym razem wybierz ponowne użycie tej samej prywatnej strefy DNS, która została utworzona dla serwera podstawowego.
  5. Po ustanowieniu łącza prywatnego możesz utworzyć grupę trybu failover, wykonując kroki opisane wcześniej w tym artykule.

Lokalizowanie punktu końcowego odbiornika

Po skonfigurowaniu grupy trybu failover zaktualizuj parametry połączenia dla aplikacji, aby wskazywała punkt końcowy odbiornika odczytu/zapisu, aby aplikacja nadal łączyła się z dowolną bazą danych po przejściu w tryb failover. Korzystając z punktu końcowego odbiornika, nie trzeba ręcznie aktualizować parametry połączenia za każdym razem, gdy grupa trybu failover przełączy się w tryb failover, ponieważ ruch jest zawsze kierowany do bieżącego podstawowego elementu. Obciążenie tylko do odczytu można również wskazać punktowi końcowemu odbiornika tylko do odczytu.

Aby zlokalizować punkt końcowy odbiornika w witrynie Azure Portal, przejdź do serwera logicznego w witrynie Azure Portal i w obszarze Zarządzanie danymi wybierz pozycję Grupy trybu failover. Wybierz interesującą Cię grupę trybu failover.

Przewiń w dół, aby znaleźć punkty końcowe odbiornika:

  • Punkt końcowy odbiornika odczytu/zapisu w postaci fog-name.database.windows.net, kieruje ruch do podstawowej bazy danych.
  • Punkt końcowy odbiornika fog-name.secondary.database.windows.nettylko do odczytu w postaci elementu kieruje ruch do pomocniczej bazy danych.

Zrzut ekranu przedstawiający grupę trybu failover parametry połączenia na stronie Grupy trybu failover w witrynie Azure Portal.

Skalowanie baz danych w grupie trybu failover

Podstawową bazę danych można skalować w górę lub w dół do innego rozmiaru obliczeniowego (w ramach tej samej warstwy usługi) bez odłączania żadnych serwerów geograficznych. Podczas skalowania w górę zalecamy najpierw skalowanie w górę pomocniczego, a następnie podstawowego obszaru geograficznego. Odwróć tę kolejność podczas skalowania w dół: najpierw przeprowadź skalowanie w dół podstawowego, a następnie pomocniczego obszaru geograficznego. W przypadku skalowania bazy danych do innej warstwy usługi to zalecenie jest wymuszane.

Ta sekwencja jest zalecana specjalnie, aby uniknąć problemu polegającego na tym, że pomocnicze geograficznie w niższej jednostce SKU jest przeciążone i muszą zostać ponownie przesiewane podczas procesu uaktualniania lub obniżania poziomu. Można również uniknąć problemu, tworząc podstawowy tylko do odczytu kosztem wpływu na wszystkie obciążenia odczytu i zapisu względem podstawowego.

Uwaga

Jeśli baza danych w pomocniczym obszarze geograficznym została utworzona podczas konfiguracji grupy trybu failover, nie zaleca się skalowania jej w dół. Ma to na celu zapewnienie, że warstwa danych będzie mieć wystarczającą pojemność do przetworzenia normalnego obciążenia po przejściu do trybu failover ze zmianą obszaru geograficznego. Po nieplanowanym przejściu w tryb failover po awarii byłego podstawowego obszaru geograficznego może nie być możliwe skalowanie pomocniczego obszaru geograficznego. Jest to znane ograniczenie.

Podstawowa baza danych w grupie trybu failover nie może być skalowana do wyższej warstwy usługi (wersja), chyba że pomocnicza baza danych zostanie najpierw przeskalowana do wyższej warstwy. Jeśli na przykład chcesz skalować w górę podstawową z warstwy Ogólnego przeznaczenia do Krytyczne dla działania firmy, musisz najpierw skalować pomocnicze geograficznie do Krytyczne dla działania firmy. Jeśli spróbujesz skalować podstawową lub pomocniczą geograficzną w sposób naruszający tę regułę, zostanie wyświetlony następujący błąd:

The source database 'Primaryserver.DBName' cannot have higher edition than the target database 'Secondaryserver.DBName'. Upgrade the edition on the target before upgrading the source.

Zapobieganie utracie krytycznych danych

Ze względu na duże opóźnienie sieci rozległe replikacja geograficzna używa mechanizmu replikacji asynchronicznej. Replikacja asynchroniczna sprawia, że utrata danych jest nieunikniona w przypadku awarii podstawowej. Aby chronić krytyczne transakcje przed utratą danych, deweloper aplikacji może wywołać procedurę składowaną sp_wait_for_database_copy_sync natychmiast po zatwierdzeniu transakcji. Wywołanie sp_wait_for_database_copy_sync blokuje wątek wywołujący do czasu przesyłania ostatniej zatwierdzonej transakcji i wzmacniania zabezpieczeń w dzienniku transakcji pomocniczej bazy danych. Jednak nie czeka na ponowne odtworzenie przesyłanych transakcji (redone) na pomocniczym. sp_wait_for_database_copy_sync jest ograniczona do określonego łącza replikacji geograficznej. Każdy użytkownik z prawami połączenia do podstawowej bazy danych może wywołać tę procedurę.

Uwaga

sp_wait_for_database_copy_sync zapobiega utracie danych po przejściu w tryb failover geograficznym dla określonych transakcji, ale nie gwarantuje pełnej synchronizacji w celu uzyskania dostępu do odczytu. Opóźnienie spowodowane sp_wait_for_database_copy_sync wywołaniem procedury może być znaczące i zależy od rozmiaru dziennika transakcji, który nie został jeszcze przesłany na serwerze podstawowym w momencie wywołania.

Zmienianie regionu pomocniczego

Aby zilustrować sekwencję zmian, zakładamy, że serwer A jest serwerem podstawowym, serwer B jest istniejącym serwerem pomocniczym, a serwer C jest nowym pomocniczym serwerem w trzecim regionie. Aby wykonać przejście, wykonaj następujące kroki:

  1. Utwórz dodatkowe pomocnicze bazy danych na serwerze A na serwerze C przy użyciu aktywnej replikacji geograficznej. Każda baza danych na serwerze A będzie mieć dwa sekundy, jeden na serwerze B i jeden na serwerze C. Gwarantuje to, że podstawowe bazy danych pozostaną chronione podczas przejścia.
  2. Usuń grupę trybu failover. W tym momencie próby logowania przy użyciu punktów końcowych grupy trybu failover zaczynają się wieść.
  3. Utwórz ponownie grupę trybu failover o tej samej nazwie między serwerami A i C.
  4. Dodaj wszystkie podstawowe bazy danych na serwerze A do nowej grupy trybu failover. W tym momencie próby logowania zakończą się niepowodzeniem.
  5. Usuń serwer B. Wszystkie bazy danych w usłudze B zostaną automatycznie usunięte.

Zmienianie regionu podstawowego

Aby zilustrować sekwencję zmian, zakładamy, że serwer A jest serwerem podstawowym, serwer B jest istniejącym serwerem pomocniczym, a serwer C jest nowym podstawowym w trzecim regionie. Aby wykonać przejście, wykonaj następujące kroki:

  1. Wykonaj planowane przejście w tryb failover geograficznego, aby przełączyć serwer podstawowy na serwer B. Serwer A staje się nowym serwerem pomocniczym. Przejście w tryb failover może spowodować kilka minut przestoju. Rzeczywisty czas zależy od rozmiaru grupy trybu failover.
  2. Utwórz dodatkowe pomocnicze bazy danych na serwerze B na serwerze C przy użyciu aktywnej replikacji geograficznej. Każda baza danych na serwerze B będzie mieć dwa sekundy, jeden na serwerze A i jeden na serwerze C. Gwarantuje to, że podstawowe bazy danych pozostaną chronione podczas przejścia.
  3. Usuń grupę trybu failover. W tym momencie próby logowania przy użyciu punktów końcowych grupy trybu failover zaczynają się wieść.
  4. Utwórz ponownie grupę trybu failover o tej samej nazwie między serwerami B i C.
  5. Dodaj wszystkie podstawowe bazy danych w usłudze B do nowej grupy trybu failover. W tym momencie próby logowania zakończą się niepowodzeniem.
  6. Wykonaj planowane geograficzne przejście w tryb failover grupy trybu failover, aby przełączyć B i C. Teraz serwer C staje się podstawowym i B pomocniczym. Wszystkie pomocnicze bazy danych na serwerze A zostaną automatycznie połączone z prawyborami w języku C. Tak jak w kroku 1, przejście w tryb failover może spowodować kilka minut przestoju.
  7. Usuń serwer A. Wszystkie bazy danych w usłudze A zostaną automatycznie usunięte.

Ważne

Po usunięciu grupy trybu failover rekordy DNS dla punktów końcowych odbiornika również zostaną usunięte. W tym momencie istnieje niezerowe prawdopodobieństwo, że ktoś inny tworzy grupę trybu failover lub alias DNS serwera o tej samej nazwie. Ponieważ nazwy grup trybu failover i aliasy DNS muszą być globalnie unikatowe, uniemożliwi to ponowne użycie tej samej nazwy. Aby zminimalizować to ryzyko, nie używaj ogólnych nazw grup trybu failover.

Grupy trybu failover i zabezpieczenia sieci

W przypadku niektórych aplikacji reguły zabezpieczeń wymagają, aby dostęp sieciowy do warstwy danych był ograniczony do określonego składnika lub składników, takich jak maszyna wirtualna, usługa internetowa itp. To wymaganie stanowi pewne wyzwania związane z projektowaniem ciągłości działania i używaniem grup trybu failover. Podczas implementowania takiego ograniczonego dostępu należy wziąć pod uwagę następujące opcje.

Używanie grup trybu failover i punktów końcowych usługi sieci wirtualnej

Jeśli używasz punktów końcowych usługi sieci wirtualnej i reguł w celu ograniczenia dostępu do bazy danych, pamiętaj, że każdy punkt końcowy usługi sieci wirtualnej ma zastosowanie tylko do jednego regionu świadczenia usługi platformy Azure. Punkt końcowy nie umożliwia innym regionom akceptowania komunikacji z podsieci. W związku z tym tylko aplikacje klienckie wdrożone w tym samym regionie mogą łączyć się z podstawową bazą danych. Ponieważ przejście w tryb failover geograficznego powoduje przekierowanie sesji klienta usługi SQL Database do serwera w innym (pomocniczym) regionie, te sesje mogą zakończyć się niepowodzeniem, jeśli pochodzą z klienta spoza tego regionu. Z tego powodu nie można włączyć zasad trybu failover zarządzanych przez firmę Microsoft, jeśli uczestniczących serwerów znajdują się w regułach sieci wirtualnej. Aby obsługiwać ręczne zasady trybu failover, wykonaj następujące kroki:

  1. Aprowizuj nadmiarowe kopie składników frontonu aplikacji (usługi internetowej, maszyn wirtualnych itp.) w regionie pomocniczym.
  2. Skonfiguruj reguły sieci wirtualnej indywidualnie dla serwera podstawowego i pomocniczego.
  3. Włączanie trybu failover frontonu przy użyciu konfiguracji usługi Traffic Manager.
  4. Zainicjuj ręczne przejście w tryb failover geograficznego po wykryciu awarii. Ta opcja jest zoptymalizowana pod kątem aplikacji wymagających spójnego opóźnienia między frontonem a warstwą danych i obsługuje odzyskiwanie w przypadku awarii frontonu, warstwy danych lub obu tych elementów.

Uwaga

Jeśli używasz odbiornika tylko do odczytu do równoważenia obciążenia tylko do odczytu, upewnij się, że to obciążenie jest wykonywane na maszynie wirtualnej lub w innym zasobie w regionie pomocniczym, aby można było nawiązać połączenie z pomocniczą bazą danych.

Używanie grup trybu failover i reguł zapory

Jeśli plan ciągłości działania wymaga przejścia w tryb failover przy użyciu grup trybu failover, możesz ograniczyć dostęp do usługi SQL Database przy użyciu reguł zapory publicznego adresu IP. Ta konfiguracja gwarantuje, że tryb geo-failover nie zablokuje połączeń ze składników frontonu i zakłada, że aplikacja może tolerować dłuższe opóźnienie między frontonem a warstwą danych.

Aby obsługiwać tryb failover grupy trybu failover, wykonaj następujące kroki:

  1. Utwórz publiczny adres IP.
  2. Utwórz publiczny moduł równoważenia obciążenia i przypisz do niego publiczny adres IP.
  3. Utwórz sieć wirtualną i maszyny wirtualne dla składników frontonu.
  4. Tworzenie sieciowej grupy zabezpieczeń i konfigurowanie połączeń przychodzących.
  5. Upewnij się, że połączenia wychodzące są otwarte dla usługi Azure SQL Database w regionie przy użyciu tagu Sql.<Region> usługi.
  6. Utwórz regułę zapory usługi SQL Database, aby zezwolić na ruch przychodzący z publicznego adresu IP utworzonego w kroku 1.

Aby uzyskać więcej informacji na temat konfigurowania dostępu wychodzącego i adresu IP do użycia w regułach zapory, zobacz Load Balancer outbound connections (Połączenia wychodzące modułu równoważenia obciążenia).

Ważne

Aby zagwarantować ciągłość działania podczas awarii regionalnych, należy zapewnić nadmiarowość geograficzną zarówno dla składników frontonu, jak i baz danych.

Uprawnienia

Uprawnienia do grupy trybu failover są zarządzane za pośrednictwem kontroli dostępu opartej na rolach (RBAC) platformy Azure.

Dostęp do zapisu RBAC platformy Azure jest niezbędny do tworzenia grup trybu failover i zarządzania nimi. Rola Współautor programu SQL Server ma wszystkie niezbędne uprawnienia do zarządzania grupami trybu failover.

W poniższej tabeli wymieniono określone zakresy uprawnień dla usługi Azure SQL Database:

Akcja Uprawnienie Scope
Tworzenie grupy trybu failover Dostęp do zapisu kontroli dostępu opartej na rolach platformy Azure Serwer podstawowy
Serwer pomocniczy
Wszystkie bazy danych w grupie trybu failover
Aktualizowanie grupy trybu failover Dostęp do zapisu kontroli dostępu opartej na rolach platformy Azure Grupa trybu failover
Wszystkie bazy danych na bieżącym serwerze podstawowym
Grupa trybu failover w trybie failover Dostęp do zapisu kontroli dostępu opartej na rolach platformy Azure Grupa trybu failover na nowym serwerze

Ograniczenia

Należy pamiętać o następujących ograniczeniach:

  • Nie można utworzyć grup trybu failover między dwoma serwerami w tym samym regionie świadczenia usługi Azure.
  • Grupy trybu failover obsługują replikację geograficzną wszystkich baz danych w grupie tylko do jednego pomocniczego serwera logicznego w innym regionie.
  • Nazw grup trybu failover nie można zmieniać. Należy usunąć grupę i utworzyć ją ponownie z inną nazwą.
  • Zmiana nazwy bazy danych nie jest obsługiwana w przypadku baz danych w grupie trybu failover. Należy tymczasowo usunąć grupę trybu failover, aby móc zmienić nazwę bazy danych lub usunąć bazę danych z grupy trybu failover.
  • Usunięcie grupy trybu failover dla pojedynczej bazy danych lub bazy danych w puli nie zatrzymuje replikacji i nie powoduje usunięcia zreplikowanej bazy danych. Należy ręcznie zatrzymać replikację geograficzną i usunąć bazę danych z serwera pomocniczego, jeśli chcesz dodać pojedynczą bazę danych lub bazę danych w puli z powrotem do grupy trybu failover po jej usunięciu. Nie można wykonać dowolnego z tych czynności, może spowodować błąd podobny do The operation cannot be performed due to multiple errors błędu podczas próby dodania bazy danych do grupy trybu failover.
  • Nazwa grupy trybu failover podlega ograniczeniom nazewnictwa.
  • Podczas tworzenia nowej grupy trybu failover lub dodawania baz danych do istniejącej grupy trybu failover można wyznaczyć bazy danych tylko jako repliki rezerwowe w przypadku korzystania z witryny Azure Portal — Azure PowerShell i interfejsu wiersza polecenia platformy Azure nie są obecnie dostępne.

Programowe zarządzanie grupami trybu failover

Grupy trybu failover można również zarządzać programowo przy użyciu programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure i interfejsu API REST. W poniższych tabelach opisano zestaw dostępnych poleceń. Grupy trybu failover obejmują zestaw interfejsów API usługi Azure Resource Manager do zarządzania, w tym interfejs API REST usługi Azure SQL Database i polecenia cmdlet programu Azure PowerShell. Te interfejsy API wymagają użycia grup zasobów i obsługi kontroli dostępu opartej na rolach platformy Azure (Azure RBAC). Aby uzyskać więcej informacji na temat implementowania ról dostępu, zobacz Kontrola dostępu oparta na rolach (RBAC) platformy Azure.

Polecenia cmdlet opis
New-AzSqlDatabaseFailoverGroup To polecenie tworzy grupę trybu failover i rejestruje ją na serwerach podstawowych i pomocniczych
Add-AzSqlDatabaseToFailoverGroup Dodaje co najmniej jedną bazę danych do grupy trybu failover
Remove-AzSqlDatabaseFromFailoverGroup Usuwa co najmniej jedną bazę danych z grupy trybu failover
Remove-AzSqlDatabaseFailoverGroup Usuwa grupę trybu failover z serwera
Get-AzSqlDatabaseFailoverGroup Pobiera konfigurację grupy trybu failover
Set-AzSqlDatabaseFailoverGroup Modyfikuje konfigurację grupy trybu failover
Switch-AzSqlDatabaseFailoverGroup Wyzwala tryb failover grupy trybu failover na serwerze pomocniczym

Uwaga

Istnieje możliwość wdrożenia grupy trybu failover w ramach subskrypcji przy użyciu parametru -PartnerSubscriptionId w programie Azure PowerShell, począwszy od Az.SQL 3.11.0. Aby dowiedzieć się więcej, zapoznaj się z poniższym przykładem.