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.
platí pro:SQL Server
Toto téma se zabývá speciálními aspekty při udržování databáze publikací při používání skupin dostupnosti Always On.
Udržování publikované databáze ve skupině dostupnosti
Udržování databáze publikací Always On je v podstatě totéž jako udržování standardní databáze publikací, s následujícími úvahami:
Aplikace musí probíhat na primárním replikním hostiteli. V SQL Server Management Studio se publikace objevují ve složce Local Publications pro primární repliku hostitele a také pro čitelné sekundární repliky. Po failoveru možná budete muset ručně obnovit Management Studio, aby se změna projevila, pokud sekundární povýšení na primární nebylo čitelné.
Replication Monitor vždy zobrazuje informace o publikaci pod původním vydavatelem. Tyto informace však lze zobrazit v Replication Monitor z jakékoli repliky přidáním původního vydavatele jako serveru.
Při použití uložených procedur nebo objektů správy replikace (RMO) pro správu replikace na aktuálním primárním serveru, v případech, kdy specifikujete název Publisher, musíte specifikovat název instance, na které byla databáze povolena pro replikaci (původní publisher). Pro určení vhodného názvu použijte funkci PUBLISHINGSERVERNAME . Když se publikující databáze připojí ke skupině dostupnosti, replikační metadata uložená v sekundárních replikách databáze jsou identická s těmi v primární databázi. V důsledku toho je u databází publikací, u nichž je na primární instanci povolena replikace, v systémových tabulkách na sekundární instanci uložen název instance vydavatele jako název primární instance, nikoli sekundární. To ovlivňuje konfiguraci a údržbu replikace, pokud dojde k převzetí služeb publikační databáze na sekundární repliku. Například pokud konfigurujete replikaci s uloženými procedurami na sekundárním zařízení po failoveru a chcete pull předplatné publikační databáze, která byla povolena v jiné replici, musíte jako @publisher parametr sp_addpullsubscription nebo sp_addmergepullsubscription zadat název původního vydavatele místo aktuálního vydavatele. Pokud však povolíte databázi publikací po failoveru, název instance vydavatele uložený v systémových tabulkách je název aktuálního primárního hostitele. V takovém případě byste použili hostitelské jméno aktuální primární repliky pro parametr @publisher .
Note
Pro některé procedury, jako je sp_addpublication, je parametr @publisher podporován pouze pro vydavatele, kteří nejsou instancemi SQL Server; v těchto případech není relevantní pro SQL Server Always On.
Pro synchronizaci předplatného ve Management Studiu po failoveru synchronizujte pull odběry od odběratele a synchronizujte push odběry od aktivního vydavatele.
Odstranění publikované databáze ze skupiny dostupnosti
Zvažte následující otázky, pokud je publikovaná databáze odstraněna ze skupiny dostupnosti, nebo pokud je skupina dostupnosti s publikovanou členskou databází vyřazena.
Pokud je databáze publikací u původního vydavatele odstraněna z primární repliky skupiny dostupnosti, musíte sp_redirect_publisher spustit bez zadání hodnoty parametru @redirected_publisher , abyste odstranili přesměrování pro pár vydavatel/databáze.
EXEC sys.sp_redirect_publisher @original_publisher = 'MyPublisher', @published_database = 'MyPublishedDB';Databáze zůstane na primárním serveru ve stavu obnovení a musí být obnovena. Jakmile to uděláte, replikace by měla fungovat beze změny proti původnímu Publisher.
Pokud databáze publikací selže z původního vydavatele na repliku a databáze je odstraněna z primární repliky skupiny dostupnosti, použijte uloženou proceduru sp_redirect_publisher k explicitnímu přesměrování původního vydavatele na nového vydavatele. Databáze zůstane v obnovovacím stavu a musí být obnovena. Jakmile to uděláte, replikace by měla dál fungovat stejně jako v rámci skupiny dostupnosti.
EXEC sys.sp_redirect_publisher @original_publisher = 'MyPublisher', @published_database = 'MyPublishedDB', @redirected_publisher = 'MyNewPublisher';Neodebírejte z distributora vzdálený server původního vydavatele, i když už server není přístupný. Metadata serveru původního vydavatele jsou potřeba u distributora, aby vyhověla dotazům na metadata publikace.
Pokud je odstraněna kompletní skupina dostupnosti, chování vůči replikované databázi členů je stejné jako při odstranění publikované databáze ze skupiny dostupnosti. Replikace může být obnovena od posledního primárního data, jakmile je databáze obnovena a přesměrování upraveno. Pokud je databáze obnovena u původního vydavatele, přesměrování by mělo být odstraněno. Pokud je databáze obnovena na jiném hostiteli, přesměrování by mělo být explicitně směrováno na nový hostitel.
Note
Když je odstraněna skupina dostupnosti, která má publikované členské databáze, nebo je publikovaná databáze odstraněna ze skupiny dostupnosti, všechny kopie publikovaných databází zůstanou ve stavu obnovy. Pokud bude každá z nich obnovena, zobrazí se jako publikovaná databáze. Pouze jedna kopie by měla být uchovávána s metadaty publikace. Pro deaktivaci replikace pro publikovanou databázovou kopii nejprve odstraňte všechna předplatná a publikace z databáze.
Spusťte sp_dropsubscription pro odstranění předplatného publikací. Ujistěte se, že parametr @ignore_distributor nastavíte na 1, abyste zachovali metadata aktivní publikační databáze u distributora.
USE MyDBName; GO EXEC sys.sp_dropsubscription @subscriber = 'MySubscriber', @publication = 'MyPublication', @article = 'all', @ignore_distributor = 1;Spusťte sp_droppublication a odstraňte všechny publikace. Opět nastavte parametr @ignore_distributor na 1, abyste zachovali metadata pro aktivní publikační databázi u distributora.
EXEC sys.sp_droppublication @publication = 'MyPublication', @ignore_distributor = 1;Spusť sp_replicationdboption pro deaktivaci replikace databáze.
EXEC sys.sp_replicationdboption @dbname = 'MyDBName', @optname = 'publish', @value = 'false';V tomto okamžiku lze kopii zveřejněné databáze zachovat nebo zlikvidovat.
Odstraňte původního vydavatele
Mohou nastat situace (výměna staršího serveru, aktualizace OS atd.), kdy chcete odstranit původního vydavatele ze skupiny dostupnosti Always On. Postupujte podle kroků v této sekci k odstranění vydavatele ze skupiny dostupnosti.
Předpokládejme, že máte servery N1, N2 a D1, kde N1 a N2 jsou primární a sekundární replikou skupiny dostupnosti AG1, N1 je původní vydavatel transakční publikace a D1 distributor. Chtěli byste nahradit původního vydavatele N1 novým vydavatelem N3.
Chcete-li vydavatele odstranit, postupujte podle těchto kroků:
- Nainstalujte a nakonfigurujte SQL Server na uzel N3. Verze SQL Server musí být stejná jako verze původního vydavatele.
- Na distributorském serveru D1 přidejte N3 jako vydavatele pomocí sp_adddistpublisher.
- Nakonfigurujte N3 jako vydavatele s D1 jako distributorem.
- Přidejte N3 jako repliku do skupiny dostupnosti AG1.
- Na replice N3 ověřte, že se odběratelé typu push dané publikace zobrazují jako propojené servery. Používejte buď sp_addlinkedserver, nebo SQL Server Management Studio.
- Jakmile je N3 synchronizován, nepřesměrujte dostupnostní skupinu na N3 jako primární.
- Odstraňte N1 ze skupiny dostupnosti AG1.
Zvažte prosím následující:
- Neodstraňujte vzdálený server původního vydavatele (v tomto případě N1) ani žádná metadata s ním spojená od distributora, i když server již není přístupný. Metadata serveru původního vydavatele jsou potřeba u distributora k uspokojení dotazů na metadata publikace a bez nich replikace selže.
- U SQL Server 2014, jakmile je původní vydavatel odstraněn, nebudete moci použít původní jméno vydavatele pro správu replikace v Replication Monitoru. Pokud se pokusíte zaregistrovat nové repliky jako vydavatele v Replication Monitoru, informace se nezobrazí, protože s nimi nejsou spojena žádná metadata. Pro správu replikace v tomto scénáři budete muset pravým tlačítkem kliknout na jednotlivé publikace a odběry v SQL Server Management Studio (SSMS).
- Pro SQL Server 2016 SP2-CU3, SQL Server 2017 CU6 a novější zaregistrujte v nástroji Replication Monitor listener vydavatele skupiny dostupnosti, abyste mohli spravovat replikaci pomocí SQL Server Management Studia verze 17.7 a novější.
Související úkoly
Konfigurace replikace pro skupiny dostupnosti AlwaysOn (SQL Server)
replikace, sledování změn, zachytávání dat a skupin dostupnosti AlwaysOn (SQL Server)
Předplatitelé replikace a skupiny dostupnosti AlwaysOn (SQL Server)