Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Applies to:Azure SQL Managed Instance
V tomto článku se dozvíte, jak provést převzetí služeb při selhání databáze linked mezi SQL Serverem a Azure SQL Managed Instance pomocí SQL Server Management Studio (SSMS) nebo PowerShellu pro účely havarijního zotavení nebo migrace.
Požadavky
Pokud chcete převzít služby při selhání databází do sekundární repliky prostřednictvím odkazu, potřebujete následující požadavky:
- Aktivní Azure předplatné. Pokud žádné nemáte, vytvořte si bezplatný účet.
- Podporovaná verze SQL Serveru s nainstalovanou vyžadovanou aktualizací služby.
- Propojení nakonfigurované mezi primární a sekundární replikou
- Převzetí propojení při selhání můžete provést pomocí Transact-SQL počínaje SQL Server 2022 CU13 (KB5036432).
Zastavení zatížení
Pokud jste připraveni přejít na sekundární repliku databáze, nejprve zastavte všechny úlohy aplikací běžící na primární replice během doby údržby. To umožňuje replikaci databáze dohnat sekundární server, abyste mohli přejít na sekundární server bez ztráty dat. Před převzetím služeb při selhání se ujistěte, že vaše aplikace neaktuují transakce do primárního serveru.
Kontrola zpoždění replikace
Před provedením plánovaného převzetí služeb při selhání je důležité, aby sekundární replika dohnala primární repliku. Plánované převzetí služeb při selhání může vypršet časový limit a dojít k selhání, pokud sekundární replika zaostává daleko za primární.
K monitorování prodlevy replikace mezi replikami použijte následující dotaz T-SQL pro SQL Server i SQL Managed Instance:
-- Execute on SQL Server and SQL Managed Instance
USE master
DECLARE @link_name varchar(max) = '<DAGname>'
SELECT
ag.name [Link name],
ars1.role_desc [Link role],
ars2.connected_state_desc [Link connected state],
ars2.synchronization_health_desc [Link sync health],
drs.secondary_lag_seconds [Link replication latency (seconds)]
FROM
sys.availability_groups ag
JOIN sys.dm_hadr_availability_replica_states ars1
ON ag.group_id = ars1.group_id
JOIN sys.dm_hadr_availability_replica_states ars2
ON ag.group_id = ars2.group_id
JOIN sys.dm_hadr_database_replica_states drs
ON ars2.replica_id = drs.replica_id
WHERE
ag.is_distributed = 1 AND ag.name = @link_name AND ars1.is_local = 1 AND ars2.is_local = 0
GO
Pokud je prodleva replikace vysoká, počkejte, než sekundární replika dožene primární repliku. Pokud prodleva přetrvává, může být potřeba provést další kroky pro řešení potíží, jako například zlepšit propustnost sítě propojení mezi dvěma instancemi nebo zvýšit kapacitu prostředků na sekundární replice.
Převzetí služeb při selhání databáze
Propojené databáze můžete převzít při selhání pomocí Transact-SQL (T-SQL), SQL Server Management Studio nebo PowerShellu.
Převzetí propojení při selhání můžete provést pomocí Transact-SQL počínaje SQL Server 2022 CU13 (KB5036432).
Pokud chcete pro připojení provést plánované převzetí služby po selhání, použijte na primární replice následující příkaz T-SQL:
ALTER AVAILABILITY GROUP [<DAGname>] FAILOVER
Pokud chcete na sekundární replice použít následující příkaz T-SQL pro provedení vynuceného převzetí služeb při selhání, postupujte podle těchto kroků:
ALTER AVAILABILITY GROUP [<DAGname>] FORCE_FAILOVER_ALLOW_DATA_LOSS
Důležité
Po provedení plánovaného převzetí služeb při selhání je režim replikace nastavený na asynchronní.
Přepnutí při selhání více databází
Pokud plánujete převzetí více databází z instancí na stejném serveru, pro zajištění optimálního výkonu a předvídatelnosti, převezměte při selhání 8 databází na jednu instanci najednou. Pokud máte například 10 instancí s 32 propojenými databázemi, přepněte vždy 8 databází z každé instance a tento proces opakujte, dokud nebudou všechny databáze přepnuty.
Zobrazit databázi po failoveru
Pokud jste se rozhodli zachovat propojení pro SQL Server 2022, můžete zkontrolovat, jestli distribuovaná skupina dostupnosti existuje v sekci skupiny dostupnosti v Object Explorer v SQL Server Management Studio.
Pokud jste během převzetí služeb při selhání ztratili propojení, můžete pomocí Object Explorer ověřit, že distribuovaná skupina dostupnosti už neexistuje. Pokud jste se rozhodli zachovat skupinu dostupnosti, bude databáze stále synchronizovaná.
Úklid po havárii
Pokud není vybrána možnost Odstranit odkaz po úspěšném převzetí služeb při selhání, pak převzetí služeb při selhání v SQL Serveru 2022 nenaruší propojení. Propojení můžete udržovat po převzetí služeb při selhání, což zanechá skupinu dostupnosti a distribuovanou skupinu dostupnosti aktivní. Nevyžaduje se žádná další akce.
Zrušení odkazu zruší pouze distribuovanou skupinu dostupnosti, zatímco skupina dostupnosti zůstane aktivní. Můžete se rozhodnout, že skupinu dostupnosti necháte nebo ji vypustíte.
Pokud se rozhodnete odstranit skupinu dostupnosti, nahraďte následující hodnotu a spusťte ukázkový kód T-SQL:
-
<AGName>s názvem skupiny dostupnosti na SQL Server (používá se k vytvoření odkazu).
-- Run on SQL Server
USE MASTER
GO
DROP AVAILABILITY GROUP <AGName>
GO
Nekonzistentní stav po vynuceném převzetí při selhání
Po vynuceném převzetí služeb při selhání můžete narazit na scénář rozděleného mozku, ve kterém jsou obě repliky v primární roli, takže propojení zůstane v nekonzistentním stavu. K tomu může dojít, když dojde k převedení na sekundární repliku během havárie a pak se primární replika opět připojí.
Pokud chcete tento problém vyřešit, přečtěte si téma Oprava scénáře rozděleného mozku.
Související obsah
Použití odkazu:
- Připravené prostředí pro odkaz Managed Instance
- Konfigurujte propojení mezi SQL Server a spravovanou instancí SQL pomocí SSMS
- Konfigurujte propojení mezi SQL Server a spravovanou instancí SQL pomocí skriptů
- Migrace pomocí odkazu
- Osvědčené postupy pro údržbu odkazu
- Řešení potíží s odkazem
Další informace o odkazu:
- Přehled propojení Managed Instance
- Obnova po havárii s odkazem na instanci Managed Instance
V případě jiných scénářů replikace a migrace zvažte následující: