Aktivní geografická replikace
PLATÍ PRO:
Azure SQL Database
Aktivní geografická replikace je funkce, která umožňuje vytvořit trvale synchronizovanou čitelnou sekundární databázi pro primární databázi. Čitelná sekundární databáze může být ve stejné oblasti Azure jako primární, nebo častěji v jiné oblasti. Tento druh čitelných sekundárních databází se také označuje jako geografické a geografické repliky.
Aktivní geografická replikace je navržená jako řešení pro provozní kontinuitu, které umožňuje provádět rychlé zotavení po havárii jednotlivých databází v případě regionálních havárií nebo výpadku velkého rozsahu. Po nastavení geografické replikace můžete v jiné oblasti Azure iniciovat geografické převzetí služeb při selhání geograficky sekundárního. Geografické převzetí služeb při selhání inicializuje programově aplikace nebo ručně uživatelem.
Poznámka
aktivní geografická replikace pro Azure SQL škálovatelná, je teď ve verzi public preview. Mezi současná omezení patří: jenom jedna geografická verze ve stejné nebo jiné oblasti, vynucené a plánované převzetí služeb při selhání se v současné době nepodporuje, obnovení databáze z geografické sekundární verze není podporované, použití geograficky sekundární jako zdrojové databáze pro kopii databáze nebo jako primární pro jinou geografickou sekundární hodnotu.
V případě, že potřebujete nastavit geograficky sekundární primární (zapisovatelnou databázi), postupujte podle následujících kroků:
- Pomocí rutiny Remove-AzSqlDatabaseSecondary v prostředí PowerShell nebo AZ SQL DB Replicate Delete-Link pro Azure CLI přerušit odkaz na geografickou replikaci, vytvoří sekundární databáze samostatnou databázi pro čtení i zápis. Všechny změny dat potvrzené na primární, ale ještě nereplikované do sekundárního, se ztratí. Tyto změny mohou být obnoveny, pokud je k dispozici stará primární primární aplikace, nebo v některých případech obnovením starého primárního nástroje k poslednímu dostupnému bodu v čase.
- Pokud je stará primární databáze k dispozici, odstraňte ji a pak nastavte geografickou replikaci pro nový primární objekt (nová sekundární z nich se dokončí).
- Aktualizujte připojovací řetězce ve vaší aplikaci odpovídajícím způsobem.
Poznámka
aktivní geografická replikace není podporována službou Azure SQL Managed Instance. pro geografické převzetí služeb při selhání instancí SQL spravované Instance použijte skupiny automatického převzetí služeb při selhání.
Poznámka
postup migrace SQL databází z Azure německo pomocí aktivní geografické replikace najdete v tématu migrace SQL Database pomocí aktivní geografické replikace.
Pokud vaše aplikace vyžaduje pro geografickou replikaci stabilní koncový bod připojení a automatickou podporu geografického převzetí služeb při selhání, použijte skupiny s automatickým převzetím služeb při selhání.
Následující diagram znázorňuje typickou konfiguraci geograficky redundantní cloudové aplikace pomocí aktivní geografické replikace.

Pokud z nějakého důvodu dojde k selhání vaší primární databáze, můžete zahájit geografické převzetí služeb při selhání do kterékoli z vašich sekundárních databází. Když je sekundární role povýšená na primární roli, všechny ostatní sekundární repliky se automaticky propojí s novým primárním objektem.
Můžete spravovat geografickou replikaci a iniciovat geografické převzetí služeb při selhání pomocí následujících kroků:
- Azure Portal
- PowerShell: izolovaná databáze
- PowerShell: elastický fond
- Transact-SQL: jedna databáze nebo elastický fond
- REST API: izolovaná databáze
Aktivní geografická replikace využívá technologii skupiny dostupnosti Always On k asynchronní replikaci transakčního protokolu vygenerovaného v primární replice na všechny geografické repliky. V kterémkoli okamžiku může být sekundární databáze mírně za primární databází. data v sekundárním počítači jsou zaručena jako nejednotná. Jinými slovy, nejsou viditelné změny provedené nepotvrzenými transakcemi.
Poznámka
Aktivní geografická replikace replikuje změny z primární repliky do sekundární repliky pomocí protokolu transakcí databáze streamování. Nesouvisí s transakční replikací, která replikuje změny spuštěním příkazů DML (vložení, aktualizace, odstranění) u odběratelů.
Regionální redundance poskytovaná geografickou replikací umožňuje aplikacím rychlé obnovení z trvalé ztráty celé oblasti Azure nebo částí oblasti, způsobené přirozenými katastrofami, závažnými lidskými chybami nebo škodlivými činy. Cílení na geografickou replikaci najdete v článku Přehled provozní kontinuity.
Následující obrázek ukazuje příklad aktivní geografické replikace nakonfigurované s primárním umístěním v Střed USA – sever oblasti a geograficky sekundární v Střed USA – jih oblasti.

Kromě zotavení po havárii je možné použít aktivní geografickou replikaci v následujících scénářích:
- Migrace databáze: můžete použít aktivní geografickou replikaci k migraci databáze z jednoho serveru na jiný s minimálními výpadky.
- Upgrady aplikací: během upgradování aplikace můžete vytvořit další sekundární kopii jako back-mailové kopie.
Pokud chcete dosáhnout plné provozní kontinuity, přidejte do řešení redundanci databáze jenom část řešení. Kompletní obnovení aplikace (služby) po závažných chybách vyžaduje obnovení všech součástí, které tvoří službu a všechny závislé služby. Mezi tyto komponenty patří klientský software (například prohlížeč s vlastním JavaScriptem), webové front-endy, úložiště a DNS. Je velmi důležité, aby všechny součásti byly odolné vůči stejnou selhání a byly k dispozici v rámci plánované doby obnovení (RTO) vaší aplikace. Proto je potřeba identifikovat všechny závislé služby a porozumět zárukám a funkcím, které poskytují. Pak musíte provést vhodné kroky, abyste zajistili, že vaše služba funguje při převzetí služeb při selhání služeb, na kterých závisí. Další informace o návrhu řešení pro zotavení po havárii najdete v tématu navrhování cloudových řešení pro zotavení po havárii pomocí aktivní geografické replikace.
Aktivní terminologie a funkce pro geografickou replikaci
Automatická asynchronní replikace
Pro existující databázi můžete vytvořit jenom geografickou sekundární databázi. Geograficky-Secondary lze vytvořit na jakémkoli logickém serveru, který je jiný než server s primární databází. Po vytvoření se geograficky sekundární replika naplní daty primární databáze. Tento proces se označuje jako osazení. Po vytvoření a osazení geograficky sekundárních se aktualizace primární databáze automaticky a asynchronně replikují do geograficky sekundární repliky. Asynchronní replikace znamená, že transakce jsou potvrzeny v primární databázi před jejich replikací.
Čitelná geograficky sekundární repliky
Aplikace může získat přístup k geografické sekundární replice, aby prováděla dotazy jen pro čtení pomocí stejných nebo odlišných objektů zabezpečení, které se používaly pro přístup k primární databázi. Další informace najdete v tématu použití replik jen pro čtení k převedení úloh dotazů jen pro čtení.
Důležité
Geografickou replikaci můžete použít k vytvoření sekundárních replik ve stejné oblasti jako primární. Pomocí těchto sekundárních scénářů můžete ve stejné oblasti naplnit scénáře pro čtení s možností horizontálního navýšení kapacity. Sekundární replika ve stejné oblasti ale neposkytuje větší odolnost proti závažným chybám nebo velkým výpadkům škálování, a proto není vhodným cílem převzetí služeb při selhání pro účely zotavení po havárii. Nezaručuje také izolaci zóny dostupnosti. pro dosažení izolace zóny dostupnosti použijte Pro důležité obchodní informace nebo Premium redundantní konfiguraci zóny služeb nebo Pro obecné účely.
Plánované geografické převzetí služeb při selhání
Po dokončení úplné synchronizace dat se plánované geografické převzetí služeb při selhání přepíná role primárních a geografických sekundárních databází. Plánované převzetí služeb při selhání nevede ke ztrátě dat. Doba plánovaného geografického převzetí služeb při selhání závisí na velikosti transakčního protokolu na primárním počítači, který musí být synchronizovaný s geograficky sekundární. Plánované geografické převzetí služeb při selhání je navržené pro následující scénáře:
- Postup zotavení po havárii v produkčním prostředí, když je ztráta dat přijatelná;
- Přemístěte databázi do jiné oblasti.
- Po omezení výpadku (známého jako navrácení služeb po obnovení) Vraťte databázi do primární oblasti.
Neplánované geografické převzetí služeb při selhání
Neplánované nebo vynucené geografické převzetí služeb při selhání okamžitě přepne geograficky sekundární na primární roli bez jakékoli synchronizace s primární. Všechny transakce potvrzené na primární, ale dosud nereplikované do sekundárního jsou ztraceny. Tato operace je navržena jako metoda obnovení během výpadků, když není primární přístup dostupný, ale je nutné rychle obnovit dostupnost databáze. Když je původní primární primární počítač znovu online, bude automaticky znovu připojen, znovu se použije aktuální primární data a stane se novou geografickou sekundární.
Důležité
Po plánovaném nebo neplánovaném geografickém převzetí služeb při selhání se koncový bod připojení pro nové primární změny změní, protože nový primární server je teď umístěný na jiném logickém serveru.
Více čitelných geografických sekundárních
Pro primární se dá vytvořit až čtyři geografické sekundární databáze. Pokud je k dispozici pouze jeden sekundární objekt a dojde k jeho chybě, je aplikace vystavena vyššímu riziku, dokud nebude vytvořeno nové sekundární. Pokud existuje více sekundárních prostředí, aplikace zůstane chráněna i v případě, že se některá z nich nezdařila. K horizontálnímu navýšení kapacity úloh jen pro čtení můžete použít taky další sekundární procesy.
Tip
Pokud k vytvoření globálně distribuované aplikace používáte aktivní geografickou replikaci a potřebujete poskytnout přístup k datům ve více než čtyřech oblastech, můžete vytvořit sekundární sekundární objekt (což je proces označovaný jako zřetězení) a vytvořit další geografické repliky. Prodleva replikace u zřetězených geografických replik může být vyšší než u geografických replik, které jsou připojené přímo k primárnímu umístění. Nastavení zřetězené topologie geografického replikace se podporují jenom programově, nikoli z Azure Portal.
Geografická replikace databází v elastickém fondu
Každá geografická – sekundární může být jedna databáze nebo databáze v elastickém fondu. Volba elastického fondu pro každou geograficky sekundární databázi je oddělená a nezávisí na konfiguraci žádné jiné repliky v topologii (primární nebo sekundární). Každý elastický fond je obsažený v jednom logickém serveru. Vzhledem k tomu, že názvy databází na logickém serveru musí být jedinečné, nemůže více geografických sekundárních souborů stejné primární skupiny nikdy sdílet elastický fond.
Geografické převzetí služeb při selhání řízené uživatelem a navrácení služeb po obnovení
Geograficky sekundární, který dokončil počáteční osazení, může být kdykoli explicitně přepnut na primární roli (převzetí služeb při selhání) aplikací nebo uživatelem. Při výpadku, kdy primární je nepřístupný, se dá použít jenom neplánované geografické převzetí služeb při selhání. Tím se okamžitě propaguje geograficky sekundární jako na novou primární. Když dojde k omezení výpadku, systém automaticky obnoví primární geografickou sekundární hodnotu a přiřadí ho k novému primárnímu serveru. Z důvodu asynchronního charakteru geografické replikace může dojít ke ztrátě poslední transakce během neplánovaných geografických převzetí služeb při selhání, pokud primární operace neproběhne úspěšně, než se tyto transakce replikují do geografické sekundární databáze. Pokud primární databáze s více geografickými sekundárními počítači převezme služby při selhání, systém automaticky překonfiguruje vztahy replikace a propojí zbývající geografické sekundární systémy s nově povýšenou primární databází bez nutnosti zásahu uživatele. Po výpadku, který způsobila omezení geografického převzetí služeb při selhání, může být žádoucí vrátit primární hodnotu do původní oblasti. K tomu je potřeba vyvolat plánované geografické převzetí služeb při selhání.
Příprava geografického převzetí služeb při selhání
Abyste zajistili, že vaše aplikace bude mít hned po geografickém převzetí služeb při selhání přístup k nové primární úrovni, ověřte, jestli jsou správně nakonfigurované ověřování a přístup k síti pro váš sekundární server. podrobnosti najdete v tématu SQL Database security po zotavení po havárii. Ověřte také, že zásady uchovávání záloh v sekundární databázi odpovídají primárnímu. Toto nastavení není součástí databáze a nereplikuje se z primárního. Ve výchozím nastavení je geograficky-Secondary nakonfigurovaná s výchozí dobou uchování PITR sedmi dnů. podrobnosti najdete v tématu SQL Database automatizované zálohy.
Důležité
Pokud je vaše databáze členem skupiny převzetí služeb při selhání, nemůžete iniciovat převzetí služeb při selhání pomocí příkazu pro převzetí služeb při selhání geografické replikace. Pro skupinu použijte příkaz pro převzetí služeb při selhání. Pokud potřebujete převzít služby při selhání pro jednotlivé databáze, musíte je nejdřív odebrat ze skupiny převzetí služeb při selhání. Podrobnosti najdete v tématu skupiny automatického převzetí služeb při selhání .
Konfigurovat geograficky sekundární
Primární i geograficky-sekundární musí mít stejnou úroveň služby. Důrazně doporučujeme také, aby geograficky sekundární byla nakonfigurovaná se stejnou redundancí záložního úložiště a výpočetní velikostí (DTU nebo virtuální jádra) jako primární. V případě, že v primárním prostředí dochází k velké zátěži pro zápis, nemusí být geografická a nižší velikost výpočetní kapacity schopna udržet se. To způsobí prodlevu replikace u geograficky sekundárního a může nakonec způsobit nedostupnost geografické sekundární služby. Aktivní geografická replikace při zmírnění těchto rizik omezí (omezí) četnost transakčního protokolu primární, pokud je to nutné, aby bylo možné její sekundární zachycení zachytit.
Další konfigurací nevyvážené geograficky sekundární konfigurace je, že po převzetí služeb při selhání může výkon aplikace vzrazit kvůli nedostatečné výpočetní kapacitě nového primárního objektu. V takovém případě bude nutné škálovat databázi tak, aby měla dostatek prostředků, což může trvat poměrně dlouho a bude vyžadovat převzetí služeb při selhání s vysokou dostupností na konci procesu horizontálního navýšení kapacity, což může rušit zatížení aplikací.
Pokud se rozhodnete vytvořit geografickou sekundární velikost s nižší výpočetní velikostí, měli byste monitorovat rychlost v/v protokolu na primárním čase. To vám umožní odhadnout minimální výpočetní velikost geografické sekundární operace, která je nutná k udržení zatížení replikace. Pokud je vaše primární databáze například P6 (1000 DTU) a její vstupně-výstupní operace se udržuje na 50%, musí být geografická sekundární aspoň P4 (500 DTU). K načtení historických dat v/v protokolu použijte zobrazení Sys.resource_stats . Pokud chcete načíst poslední data v/v protokolu s větší členitosti, která lépe odráží krátkodobé špičky, použijte zobrazení Sys.dm_db_resource_stats .
Tip
Omezení vstupně-výstupních operací protokolu transakcí na primárním základě vzhledem k nižší výpočetní velikosti u geografické sekundární hodnoty se oznamuje pomocí typu čekání HADR_THROTTLE_LOG_RATE_MISMATCHED_SLO, který je viditelný v zobrazeních Sys.dm_exec_requests a Sys.dm_os_wait_stats databáze.
Vstupně-výstupní operace transakčního protokolu na primárním počítači může být omezena z důvodů, které nesouvisí s nižší výpočetní velikostí na geograficky sekundární. Tento druh omezování může nastat i v případě, že geograficky sekundární má stejnou nebo vyšší výpočetní velikost než primární. Podrobnosti, včetně typů čekání pro různé druhy omezení v/v protokolu, najdete v tématu řízení sazeb transakčního protokolu.
Ve výchozím nastavení je redundance záložního úložiště geograficky sekundární služby stejná jako u primární databáze. Můžete zvolit konfiguraci geografické sekundární databáze s jinou redundancí úložiště zálohování. Zálohování se vždycky provádí v primární databázi. Pokud je sekundární nakonfigurovaná s jinou redundancí úložiště záloh, pak po geografickém převzetí služeb při selhání, když se geografická sekundární úroveň zvýší na primární, se nové zálohy uloží a účtují podle typu úložiště (RA-GRS, ZRS, LRS) vybraného na novém primárním počítači (předchozí sekundární).
Geografická replikace mezi předplatnými
pokud chcete vytvořit geograficky sekundární v rámci předplatného, které se liší od předplatného primárního portálu (jestli se nachází ve stejném tenantovi Azure Active Directory nebo ne), postupujte podle kroků v této části.
přidejte IP adresu klientského počítače spouštějící níže uvedené příkazy T-SQL do serverových bran firewall primárního i sekundárního serveru. Tuto IP adresu můžete potvrdit spuštěním následujícího dotazu, který se připojí k primárnímu serveru ze stejného klientského počítače.
select client_net_address from sys.dm_exec_connections where session_id = @@SPID;Další informace najdete v tématu Konfigurace brány firewall.
v hlavní databázi na primárním serveru vytvořte SQL přihlášení ověřování vyhrazené pro nastavení aktivní geografické replikace. Podle potřeby upravte přihlašovací jméno a heslo.
create login geodrsetup with password = 'ComplexPassword01';Ve stejné databázi vytvořte uživatele pro přihlášení a přidejte ho do
dbmanagerrole:create user geodrsetup for login geodrsetup; alter role dbmanager add member geodrsetup;Poznamenejte si hodnotu SID nového přihlášení. Hodnotu SID získáte pomocí následujícího dotazu.
select sid from sys.sql_logins where name = 'geodrsetup';Připojení k primární databázi (ne k hlavní databázi) a vytvořte uživatele pro stejné přihlášení.
create user geodrsetup for login geodrsetup;Do stejné databáze přidejte uživatele do
db_ownerrole.alter role db_owner add member geodrsetup;V hlavní databázi na sekundárním serveru vytvořte stejné přihlašovací údaje jako na primárním serveru, přičemž použijte stejný název, heslo a SID. V níže uvedeném příkazu pro vzorkování nahraďte šestnáctkovou hodnotu SID, kterou jste získali v kroku 4.
create login geodrsetup with password = 'ComplexPassword01', sid=0x010600000000006400000000000000001C98F52B95D9C84BBBA8578FACE37C3E;Ve stejné databázi vytvořte uživatele pro přihlášení a přidejte ho do
dbmanagerrole.create user geodrsetup for login geodrsetup; alter role dbmanager add member geodrsetup;Připojení k hlavní databázi na primárním serveru pomocí nového
geodrsetuppřihlášení a spusťte geograficky sekundární vytvoření na sekundárním serveru. Podle potřeby upravte název databáze a název sekundárního serveru. Po spuštění příkazu můžete monitorovat geografické sekundární vytváření pomocí dotazu na zobrazení Sys.dm_geo_replication_link_status v primární databázi a zobrazení Sys.dm_operation_status v hlavní databázi na primárním serveru. Čas potřebný k vytvoření geografické sekundární závislosti závisí na velikosti primární databáze.alter database [dbrep] add secondary on server [servername];Po úspěšném vytvoření geografické sekundárního umístění je možné odebrat uživatele, přihlašovací údaje a pravidla brány firewall vytvořená tímto postupem.
Poznámka
operace geografické replikace mezi předplatnými, včetně nastavení a geografického převzetí služeb při selhání, se podporují jenom pomocí příkazů T-SQL.
Přidání geografické sekundární pomocí T-SQL není podporované, pokud primární nebo sekundární servery mají nakonfigurovanou privátní koncový bod a přístup k veřejné síti byl odepřen. Pokud je nakonfigurován privátní koncový bod, ale je povolen přístup k veřejné síti, je podporováno přidávání geograficky sekundárního připojení k primárnímu serveru z veřejné IP adresy. Po přidání geograficky sekundárního je možné veřejný přístup odepřít.
vytvoření geografické sekundární na logickém serveru v jiném tenantovi Azure není podporované, když Azure Active Directory jenom ověřování pro Azure SQL aktivní (povolené) na primárním nebo sekundárním logickém serveru.
Udržování synchronizovaných přihlašovacích údajů a pravidel brány firewall
Při použití přístupu veřejné sítě pro připojení k databázi doporučujeme použít pravidla brány firewall protokolu IP na úrovni databáze pro geograficky replikované databáze. Tato pravidla se replikují s databází, která zajišťuje, že všechny geografické sekundární sítě mají stejná pravidla firewallu protokolu IP jako primární. Tento přístup eliminuje potřebu zákazníků ručně konfigurovat a udržovat pravidla brány firewall na serverech hostujících primární a sekundární databázi. Podobně použití databáze uživatelů s omezením pro přístup k datům zajišťuje, že primární i sekundární databáze mají vždy stejné ověřovací přihlašovací údaje. Tímto způsobem po geografickém převzetí služeb při selhání nedochází k výpadkům v důsledku neshody ověřovacích přihlašovacích údajů. Pokud používáte přihlašovací jména a uživatele (místo obsažených uživatelů), musíte provést další kroky, abyste zajistili, že pro vaši sekundární databázi existují stejná přihlášení. Podrobnosti o konfiguraci najdete v tématu konfigurace přihlašovacích jmen a uživatelů.
Škálovat primární databázi
Primární databázi můžete škálovat směrem nahoru nebo dolů na jinou výpočetní velikost (v rámci stejné vrstvy služeb), aniž byste museli odpojit jakékoli geografické sekundární operace. Při vertikálním navýšení kapacity doporučujeme nejprve škálovat geograficky sekundární a pak vertikálně navyšovat velikost primárního. Při horizontálním navýšení kapacity můžete pořadí obrátit na primární úrovni a pak vertikálně snížit velikost sekundárního.
Poznámka
Pokud jste jako součást konfigurace skupiny převzetí služeb při selhání vytvořili geografickou sekundární hodnotu, nedoporučuje se jejich horizontální navýšení kapacity. Tím zajistíte, že vaše datová úroveň má dostatečnou kapacitu pro zpracování pravidelného zatížení po geografickém převzetí služeb při selhání.
Důležité
Primární databáze ve skupině převzetí služeb při selhání se nedá škálovat na vyšší úroveň služby (edice), pokud se sekundární databáze nejdříve škáluje na vyšší úroveň. Například pokud chcete horizontální navýšení kapacity z Pro obecné účely na Pro důležité obchodní informace, je nutné nejprve škálovat geograficky sekundární na Pro důležité obchodní informace. Pokud se pokusíte škálovat primární nebo geograficky sekundární způsobem, který porušuje toto pravidlo, dojde k následující chybě:
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.
Zabránit ztrátě důležitých dat
Vzhledem k vysoké latenci sítí WAN používá geografická replikace mechanismus asynchronní replikace. Asynchronní replikace umožňuje nemožnost ztráty dat v případě, že primární operace není úspěšná. Aby bylo možné ochránit kritické transakce před ztrátou dat, může vývojář aplikace volat sp_wait_for_database_copy_sync uloženou proceduru ihned po potvrzení transakce. Volání sp_wait_for_database_copy_sync blokuje volající vlákno, dokud poslední potvrzená transakce nebyla přenesena a zpřísněna v transakčním protokolu sekundární databáze. Nečeká ale na opětovné přehrání přenesených transakcí (znovu) na sekundárním počítači. sp_wait_for_database_copy_sync je vymezen na konkrétní odkaz geografická replikace. Tento postup může volat každý uživatel s právy pro připojení k primární databázi.
Poznámka
sp_wait_for_database_copy_sync zabrání ztrátě dat po geografickém převzetí služeb při selhání pro konkrétní transakce, ale nezaručuje úplnou synchronizaci pro přístup pro čtení. Zpoždění způsobené sp_wait_for_database_copy_sync voláním procedury může být významné a závisí na velikosti dosud nepřenášených transakčních protokolů na primárním čase v době volání.
Sledovat prodlevu geografické replikace
Chcete-li monitorovat prodlevu s ohledem na RPO, použijte replication_lag_sec sloupci Sys.dm_geo_replication_link_status v primární databázi. V sekundách se zobrazuje prodleva mezi transakcemi potvrzenými na primárním počítači a posílením protokolu transakcí v sekundárním počítači. Pokud je například prodleva jedna sekunda, znamená to, že v případě, že je primární příčinou výpadku v této chvíli a dojde k zahájení geografického převzetí služeb při selhání, budou ztraceny transakce potvrzené za poslední sekundu.
Chcete-li změřit prodlevu s ohledem na změny v primární databázi, které byly zpřísněny na geograficky sekundárním, porovnejte last_commit čas u geografické sekundární hodnoty se stejnou hodnotou na primárním poli.
Tip
Pokud replication_lag_sec na primárním počítači má hodnotu null, znamená to, že primární aktuálně nevíte, jak daleko za geografickou sekundární hodnotou je. K tomu obvykle dochází po restartování procesu a mělo by to být přechodný stav. Pokud replication_lag_sec po delší dobu nevrátí hodnotu null, zvažte odeslání výstrahy. Může to znamenat, že geograficky-Secondary nemůže komunikovat s primárním z důvodu chyby připojení.
Existují taky podmínky, které by mohly způsobit, že rozdíl mezi last_commitm časem v geograficky sekundárním a primárním umístěním bude velký. Například pokud se potvrzení provede na primárním počítači po dlouhou dobu bez jakýchkoli změn, bude rozdíl přejít až na velkou hodnotu, než se rychle vrátí na nulu. Zvažte odeslání výstrahy, pokud rozdíl mezi těmito dvěma hodnotami zůstane po dlouhou dobu dlouhý.
Programově spravovat aktivní geografickou replikaci
jak je popsáno výše, aktivní geografická replikace se dá spravovat taky prostřednictvím T-SQL, Azure PowerShell a REST API. V následujících tabulkách jsou popsány sady příkazů, které jsou k dispozici. aktivní geografická replikace obsahuje sadu Azure Resource Manager rozhraní api pro správu, včetně rutin Azure SQL Database REST API a Azure PowerShell. Tato rozhraní API podporují řízení přístupu na základě role Azure (Azure RBAC). Další informace o tom, jak implementovat role přístupu, najdete v tématu řízení přístupu na základě role v Azure (Azure RBAC).
T-SQL: správa geografického převzetí služeb při selhání pro jednotlivé a sdružené databáze
Důležité
tyto příkazy T-SQL platí jenom pro aktivní geografickou replikaci a nevztahují se na skupiny převzetí služeb při selhání. v takovém případě se také nevztahují na SQL spravovanou instanci, která podporuje pouze skupiny převzetí služeb při selhání.
| Příkaz | Popis |
|---|---|
| ALTER DATABASE | Pro vytvoření sekundární databáze pro existující databázi a spuštění replikace dat použijte argument Přidat sekundární na server . |
| ALTER DATABASE | Použití převzetí služeb při selhání nebo FORCE_FAILOVER_ALLOW_DATA_LOSS k přepnutí sekundární databáze na primární pro zahájení převzetí služeb při selhání |
| ALTER DATABASE | pomocí odebrat sekundární na serveru ukončete replikaci dat mezi SQL Database a zadanou sekundární databází. |
| sys.geo_replication_links | Vrátí informace o všech stávajících odkazech replikace pro každou databázi na serveru. |
| sys.dm_geo_replication_link_status | Získá čas poslední replikace, prodlevu poslední replikace a další informace o odkazu replikace pro danou databázi. |
| sys.dm_operation_status | Zobrazuje stav všech databázových operací, včetně změn replikačních propojení. |
| sys.sp_wait_for_database_copy_sync | Způsobí, že aplikace počká, dokud nebudou všechny potvrzené transakce zpřísněny do transakčního protokolu geograficky sekundárního. |
PowerShell: Správa geografického převzetí služeb při selhání pro jednotlivé a sdružené databáze
Poznámka
Tento článek používá modul Azure Az PowerShell, což je doporučený modul PowerShellu pro interakci s Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Důležité
modul PowerShell Azure Resource Manager je stále podporován Azure SQL Database, ale všechny budoucí vývojové prostředí jsou pro modul Az. SQL. Tyto rutiny naleznete v tématu AzureRM. SQL. Argumenty pro příkazy v modulech AZ a v modulech AzureRm jsou v podstatě identické.
| Rutina | Popis |
|---|---|
| Get-AzSqlDatabase | Získá jednu nebo více databází. |
| New-AzSqlDatabaseSecondary | Vytvoří sekundární databázi pro existující databázi a spustí replikaci dat. |
| Set-AzSqlDatabaseSecondary | Přepne sekundární databázi na primární a zahájí tak převzetí služeb při selhání. |
| Remove-AzSqlDatabaseSecondary | Ukončí replikaci dat mezi službou SQL Database a zadanou sekundární databází. |
| Get-AzSqlDatabaseReplicationLink | Získá odkazy na geografickou replikaci pro databázi. |
Tip
Ukázkové skripty najdete v tématu Konfigurace a převzetí služeb při selhání v izolovaných databázích pomocí aktivní geografické replikace a Konfigurace a převzetí služeb při selhání databáze ve fondu pomocí aktivní geografické replikace.
REST API: Správa geografického převzetí služeb při selhání pro jednotlivé databáze a ve fondu
| Rozhraní API | Popis |
|---|---|
| Vytvořit nebo aktualizovat databázi (createMode = Restore) | Vytvoří, aktualizuje nebo obnoví primární nebo sekundární databázi. |
| Získat stav databáze pro vytvoření nebo aktualizaci | Vrátí stav během operace vytvoření. |
| Nastavit sekundární databázi jako primární (plánované převzetí služeb při selhání) | Nastaví, která sekundární databáze je primární databází převzetím služeb při selhání z aktuální primární databáze. tato možnost není podporována pro SQL spravovanou instanci. |
| Nastavit sekundární databázi jako primární (neplánované převzetí služeb při selhání) | Nastaví, která sekundární databáze je primární databází převzetím služeb při selhání z aktuální primární databáze. Tato operace může způsobit ztrátu dat. tato možnost není podporována pro SQL spravovanou instanci. |
| Získat odkaz replikace | Získá konkrétní odkaz replikace pro danou databázi v rámci partnerství geografické replikace. Načte informace viditelné v zobrazení katalogu sys.geo_replication_links. tato možnost není podporována pro SQL spravovanou instanci. |
| Odkazy replikace – seznam podle databáze | Získá všechny odkazy replikace pro danou databázi v rámci partnerství geografické replikace. Načte informace viditelné v zobrazení katalogu sys.geo_replication_links. |
| Odstranit odkaz replikace | Odstraní odkaz replikace databáze. Nejde provést během převzetí služeb při selhání. |
Další kroky
- Ukázkové skripty najdete v těchto tématech:
- SQL Database podporuje také skupiny automatického převzetí služeb při selhání. Další informace najdete v tématu používání skupin s automatickým převzetím služeb při selhání.
- Přehled provozní kontinuity a scénáře najdete v tématu Přehled provozní kontinuity.
- další informace o Azure SQL Database automatizovaných zálohách najdete v tématu SQL Database automatizované zálohy.
- Další informace o použití automatizovaných záloh pro obnovení najdete v tématu obnovení databáze ze zálohy iniciované službou.
- další informace o požadavcích na ověřování nového primárního serveru a databáze najdete v článku SQL Database zabezpečení po zotavení po havárii.