Udostępnij za pośrednictwem


Link do trybu failover — Azure SQL Managed Instance

Dotyczy:Azure SQL Managed Instance

W tym artykule opisano sposób przełączania bazę danych połączoną w tryb failover między programem SQL Server oraz usługą Azure SQL Managed Instance przy użyciu programu SQL Server Management Studio (SSMS) lub programu PowerShell na potrzeby odzyskiwania po awarii lub migracji.

Wymagania wstępne

Aby przełączyć bazy danych w tryb awaryjny do repliki pomocniczej przez link, potrzebne są następujące wymagania:

  • Aktywna subskrypcja platformy Azure. Jeśli jej nie masz, utwórz bezpłatne konto.
  • Obsługiwana wersja programu SQL Server z zainstalowaną wymaganą aktualizacją usługi.
  • Łącze zostało skonfigurowane między repliką podstawową i wtórną.
  • Można przełączyć połączenie w tryb failover, używając języka Transact-SQL począwszy od programu SQL Server 2022 CU13 (KB5036432).

Zatrzymaj obciążenie

Jeśli chcesz przełączyć bazę danych na replikę pomocniczą, najpierw zatrzymaj wszystkie procesy aplikacji na replice podstawowej w godzinach konserwacji. Dzięki temu replikacja bazy danych może nadrobić zaległości w pomocniczej wersji, dzięki czemu można przejść w tryb failover do pomocniczej bez utraty danych. Upewnij się, że aplikacje nie zatwierdzają transakcji na serwerze głównym przed przełączeniem w tryb failover.

Przełączanie awaryjne bazy danych

Połączoną bazę danych można przełączyć w tryb failover przy użyciu języka Transact-SQL (T-SQL), SQL Server Management Studio lub PowerShell.

Można przełączyć link w tryb awaryjny przy użyciu języka Transact-SQL, począwszy od programu SQL Server 2022 CU13 (KB5036432).

Aby przeprowadzić planowane przełączanie awaryjne dla połączenia, użyj następującego polecenia języka T-SQL w podstawowej replice.

ALTER AVAILABILITY GROUP [<DAGname>] FAILOVER

Aby przeprowadzić wymuszone przejście w tryb failover, użyj następującego polecenia T-SQL na replikacie pomocniczym.

ALTER AVAILABILITY GROUP [<DAGname>] FORCE_FAILOVER_ALLOW_DATA_LOSS

Wyświetlanie bazy danych po przełączeniu awaryjnym

W przypadku programu SQL Server 2022, jeśli wybrano utrzymanie połączenia, możesz sprawdzić, czy rozproszona grupa dostępności istnieje w sekcji Grupy dostępności w Eksploratorze obiektów w programie SQL Server Management Studio.

Jeśli link został usunięty podczas pracy w trybie failover, możesz użyć Eksplorator obiektów, aby potwierdzić, że rozproszona grupa dostępności już nie istnieje. Jeśli zdecydujesz się zachować grupę dostępności, baza danych będzie nadal synchronizowana.

Sprzątanie po awarii przełączeniowej

Jeśli nie wybrano opcji Usuń łącze po pomyślnym przejściu w tryb failover, przełączenie w tryb failover z programem SQL Server 2022 nie spowoduje przerwania łącza. Możesz utrzymać link po przejściu w tryb failover, co pozwala na utrzymanie aktywności grupy dostępności i rozproszonej grupy dostępności. Nie trzeba wykonywać dalszych akcji.

Usunięcie linku porzuca tylko rozproszoną grupę dostępności i pozostawia aktywną grupę dostępności. Możesz zdecydować się na utrzymanie grupy dostępności lub jej usunięcie.

Jeśli zdecydujesz się usunąć grupę dostępności, zastąp następującą wartość, a następnie uruchom przykładowy kod T-SQL:

  • <AGName> z nazwą grupy dostępności w programie SQL Server (używanym do utworzenia linku).
-- Run on SQL Server
USE MASTER
GO
DROP AVAILABILITY GROUP <AGName> 
GO

Niespójny stan po wymuszonym przełączeniu awaryjnym (failover)

Po wymuszonym przejściu w tryb failover może wystąpić scenariusz podziału mózgu, w którym obie repliki znajdują się w roli głównej, pozostawiając link w stanie niespójnym. Może się tak zdarzyć, jeśli nastąpi przełączenie na replikę pomocniczą podczas awarii, a następnie replika podstawowa ponownie się uruchomi.

Aby rozwiązać ten problem, zobacz Jak naprawić scenariusz rozdzielonego mózgu.

Aby użyć linku:

Aby dowiedzieć się więcej na temat linku:

W przypadku innych scenariuszy replikacji i migracji należy wziąć pod uwagę następujące kwestie: