Sdílej nyní:

1. Úvod do SQL Server replikace

1.1 Co je SQL Server replikace?

SQL Server Replikace je sada technologií pro kopírování a distribuci dat a databázových objektů z jedné databáze do druhé a následnou synchronizaci mezi databázemi za účelem zachování konzistence. Tato funkce umožňuje vytvářet a udržovat více kopií dat na různých serverech a místech, čímž je zajištěna dostupnost a spolehlivost dat.

1.2 Účel a výhody replikace

SQL Server Replikace slouží řadě kritických obchodních potřeb a poskytuje významné výhody pro správu databází a distribuci dat:

  • Distribuce dat napříč lokalitami: Replikace umožňuje sdílet data mezi regionálními pobočkami nebo globálními lokalitami, což zlepšuje provozní efektivitu zajištěním lokálního přístupu k požadovaným datům. To snižuje latenci sítě a poskytuje lepší výkon pro geograficky rozptýlené uživatele.
  • Vysoká dostupnost a zotavení po havárii: Udržováním replik kritických dat napříč více servery replikace poskytuje redundanci, která chrání před selháním hardwaru a katastrofami. V případě selhání primárního serveru mohou replikované kopie sloužit jako záložní zdroje, čímž se minimalizují prostoje a ztráta dat.
  • Vyvažování zátěže a škálovatelnost: Replikace rozděluje operace čtení mezi více serverů, čímž zabraňuje tomu, aby se kterýkoli jednotlivý server stal úzkým hrdlem. Tento přístup zvyšuje výkon systému a umožňuje horizontální škálování infrastruktury s rostoucími požadavky na data a uživatele.
  • Přehledy a analýzy v reálném čase: Přesunutí dotazů pro reporting a analýzu na replikované servery snižuje zátěž produkčních databází. Uživatelé mohou spouštět složité analytické dotazy na data téměř v reálném čase, aniž by to ovlivnilo operační systémy, což zajišťuje výkon i aktuálnost dat.
  • Integrace a konsolidace dat: Replikace usnadňuje slučování dat z různých zdrojů do jednoho konsolidovaného zobrazení. To je obzvláště cenné pro organizace s více pobočkami, které potřebují agregovat data v centrále, nebo pro vytváření centralizovaných datových skladů z distribuovaných operačních systémů.

2. SQL Server Architektura a komponenty replikace

SQL Server Architektura replikace se skládá z několika vzájemně propojených komponent, které spolupracují na distribuci a synchronizaci dat v rámci vaší databázové infrastruktury. Tato část se zabývá základními komponentami, včetně vydavatelů, distributorů, odběratelů, publikací, článků, předplatného a agentů, kteří koordinují tok dat mezi nimi:

  • Vydavatel: Vydavatel je SQL Server instance, která hostuje jednu nebo více databází obsahujících data, která mají být replikována. Slouží jako autoritativní zdroj v replikační topologii.
  • Distributor: Distributor je SQL Server instance, která spravuje tok dat mezi vydavateli a odběrateli. Instance distributora hostuje distribuční databázi, která ukládá replikační metadata a transakce.
  • Odběratel: Předplatitel je SQL Server instance, která přijímá a ukládá replikovaná data od vydavatelů. Jedna instance odběratele může hostovat více databází odběratelů, z nichž každá přijímá data z různých publikací.
  • Vydání: Publikace definuje, která data budou replikována a jak budou distribuována předplatitelům. Seskupuje související články a stanovuje metodologii replikace, která se vztahuje na všechny obsažené objekty.
  • Článek: Článek je základním stavebním kamenem replikace a představuje individuální objekt databáze, který bude distribuován odběratelům.
  • Přihlášení: Předplatné vytváří vztah mezi publikací a předplatitelem a definuje, jak a kdy jsou data doručována do cílové databáze.
  • Agenti: Agenti jsou specializované procesy, které vykonávají skutečnou práci přesouvání a synchronizace dat mezi replikačními komponentami.

SQL Server Architektura a komponenty replikace

3. Druhy SQL Server replikace

SQL Server nabízí několik typů replikace, z nichž každý je navržen pro specifické scénáře distribuce dat a obchodní požadavky. Pochopení charakteristik, výhod a omezení každého typu je nezbytné pro výběr správného přístupu pro vaše prostředí.

3.1 Replikace snapshotů

Replikace snapshotů pořídí snímek dat, která mají být publikována v určitém čase, a poté distribuuje přesnou kompletní kopii odběratelům. Nesleduje následné změny, dokud není vygenerován další snímek. Replikace snapshotů je nejjednodušší formou replikace, takže je vhodná pro scénáře, kde se data mění jen zřídka nebo kde je přijatelné mít mírně zastaralá data.

Mezi běžné případy použití patří distribuce referenčních dat, jako jsou ceníky nebo směnné kurzy, které se pravidelně aktualizují, poskytování počátečních datových sad pro datové sklady a scénáře, kdy je úplná aktualizace dat vhodnější než sledování jednotlivých změn. Společnost může například použít replikaci snímků k distribuci aktualizovaných katalogů produktů do poboček jednou denně.

Hlavními výhodami replikace snapshotů jsou její jednoduchost, nízké nároky na údržbu a schopnost replikovat data bez primárních klíčů. Má však značné nevýhody, včetně velkého dopadu při generování snapshotů v důsledku uzamčení tabulek, vysoké latence mezi aktualizacemi a neefektivity pro velké datové sady nebo často se měnící data. Veškeré úpravy provedené na úrovni odběratelů se při použití dalšího snapshotu ztratí.

3.2 Transakční replikace

Transakční replikace přenáší změny od vydavatele k odběratelům téměř v reálném čase replikací jednotlivých transakcí v okamžiku jejich vzniku. Začíná s počátečním snímkem pro stanovení základní úrovně, poté průběžně monitoruje transakční protokol, zda nedošlo ke změnám v publikovaných článcích, a postupně je doručuje odběratelům.

Transakční replikace je ideální pro scénáře typu server-to-server vyžadující vysokou propustnost a nízkou latenci. Mezi běžné případy použití patří zlepšení škálovatelnosti a dostupnosti přesunutím operací čtení na servery odběratelů, podpora datových skladů a reportingu s daty téměř v reálném čase, integrace dat z více lokalit do centrálního umístění a přesunutí dávkového zpracování na dedikované servery. Například platforma elektronického obchodování může používat transakční replikaci k udržování synchronizovaných dat o zásobách napříč regionálními databázemi.

Mezi výhody transakční replikace patří nízká latence doručování dat, vysoká propustnost pro velké objemy transakcí a možnost provádět nereplikované úpravy u odběratelů. Mezi nevýhody patří větší složitost ve srovnání s replikací snímků, požadavek na primární klíče u replikovaných tabulek a možnost přerušení replikace v případě konfliktů, jako je porušení primárního klíče u odběratelů.

3.3 Replikace sloučením

Sloučená replikace je speciálně navržena pro prostředí, kde předplatitelé potřebují pracovat offline nebo s přerušovaným připojením a poté synchronizovat změny, když je připojení k dispozici. Tento typ replikace umožňuje nezávislou změnu dat na straně vydavatele i předplatitelů, sledování změn pomocí triggerů a tabulek metadat a automatické slučování úprav během synchronizace.

Sloučená replikace je navržena pro mobilní aplikace a distribuovaná serverová prostředí, kde dochází k autonomním změnám. Mezi případy použití patří automatizace prodejních sil, kde mobilní uživatelé pracují offline a synchronizují se později, systémy POS, které fungují nezávisle a pravidelně konsolidují data, a distribuované aplikace, kde více poboček potřebuje aktualizovat sdílená data. Například maloobchodní řetězec může používat sloučenou replikaci, aby každý obchod mohl spravovat lokální zásoby a zároveň se synchronizovat s centrálním skladovým systémem.

Mezi výhody slučovací replikace patří podpora autonomních odběratelů, kteří mohou provádět změny, tolerance k přerušovanému síťovému připojení a flexibilní řešení konfliktů. Mezi nevýhody patří větší složitost nastavení a údržby, režijní náklady na výkon ze sledování metadat a triggerů, přidávání sloupců uniqueidentifier do tabulek a potenciál pro konflikty, které vyžadují správu a řešení.

3.4 Replikace typu peer-to-peer

Peer-to-peer replikace je postavena na transakční replikaci a umožňuje více instancím serveru (tři nebo více uzlů) fungovat jako rovnocenní uzly, přičemž každý uzel slouží současně jako vydavatel i odběratel. V této topologii všechny uzly uchovávají identické kopie dat a mohou zpracovávat operace čtení i zápisu, což poskytuje skutečně distribuované prostředí s více hlavními uzly.

Peer-to-peer replikace je vhodná pro aplikace vyžadující horizontální škálování operací čtení a vysokou dostupnost. Mezi případy použití patří webové aplikace, které distribuují katalogové dotazy mezi více uzlů a zároveň zachovávají konzistentní data, scénáře vyžadující údržbu nebo upgrady bez prostojů odpojením jednotlivých uzlů od sítě a globální aplikace s datovými centry v různých regionech. Například celosvětová organizace softwarové podpory může používat peer-to-peer replikaci mezi pobočkami v různých časových pásmech, takže každé místo má lokální přístup k aktuálním datům.

Mezi výhody replikace typu peer-to-peer patří vylepšený výkon čtení díky horizontálnímu ...

3.5 Obousměrná replikace

Obousměrná replikace je specifická transakční replikační topologie navržená speciálně pro prostředí se dvěma servery, kde si oba servery potřebují vyměňovat změny. Každý server publikuje data a přihlašuje se k odběru stejných dat z druhého serveru, čímž vytváří jednoduchý obousměrný synchronizační tok. Zatímco replikace peer-to-peer může podporovat i dva uzly, obousměrná replikace poskytuje v tomto konkrétním scénáři vylepšený výkon.

Obousměrná replikace je vhodná pro scénáře vyžadující dva aktivní servery se synchronizovanými daty, jako jsou například konfigurace aktivní-aktivní pro vysokou dostupnost nebo geograficky distribuované aplikace, kde každé pracoviště potřebuje lokální přístup pro zápis. Topologie vyžaduje pečlivý návrh aplikace pro rozdělení aktualizací dat a prevenci konfliktů.

Mezi výhody patří optimalizovaný výkon pro scénáře se dvěma servery, jednodušší konfigurace ve srovnání s replikací typu peer-to-peer, synchronizace téměř v reálném čase a nižší režie než u replikace sloučením. Nevýhody zahrnují omezení na přesně dva servery, absenci vestavěného řešení konfliktů vyžadujícího pečlivý návrh aplikace a potřebu správných strategií dělení, aby se zabránilo konfliktům.

3.6 Aktualizovatelná předplatná

Aktualizovatelná předplatná rozšiřují transakční replikaci tak, aby předplatitelům umožnila provádět občasné změny replikovaných dat, které se poté šíří zpět k vydavateli a dalším předplatitelům. Na rozdíl od slučovací replikace nebo topologií peer-to-peer určených pro časté obousměrné aktualizace jsou aktualizovatelná předplatná určena pro scénáře, kde je primární tok dat jednosměrný (od vydavatele k předplatitelům), ale předplatitelé občas potřebují provádět opravy nebo aktualizace.

Aktualizovatelná předplatná jsou vhodná pro scénáře, kde většina aktualizací probíhá u vydavatele, ale občasné aktualizace jsou nutné i u odběratelů, například v terénních pobočkách, které primárně čtou data, ale potřebují provádět lokální opravy nebo aktualizace. Topologie vyžaduje pečlivé plánování, aby se minimalizovaly konflikty a zajistila konzistence dat.

Mezi hlavní výhody patří povolení omezeného počtu operací zápisu u odběratelů při zachování výkonnostních charakteristik transakční replikace. Mezi nevýhody patří zvýšená složitost, potenciál pro konflikty vyžadující řešení, režijní náklady na výkon z protokolu dvoufázového potvrzení v režimu okamžité aktualizace a požadavek, aby všechny replikované tabulky měly primární klíče.

3.7 Porovnání různých typů replikací

Typ replikace Čas aktualizace Počet vydavatelů Vedení Použijte scénáře
Momentka Bod v čase 1 One Direction (Vydavatel → Předplatitelé) Často se měnící referenční údaje (ceníky, směnné kurzy)
Transakční Téměř v reálném čase 1 One Direction (Vydavatel → Předplatitelé) Vysokokapacitní scénáře (e-commerce inventář, datové sklady, reporting)
Spojit Periodické (při připojení) 1 Obousměrné (Vydavatel ↔ Předplatitelé) Mobilní aplikace, offline pracovníci (automatizace prodejních sil, terénní služby)
Peer-to-Peer Téměř v reálném čase Vícenásobné (3 nebo více) Obousměrné (všechny uzly) Globální nasazení v multidatových centrech (celosvětové pobočky s lokálním přístupem pro čtení i zápis)
Obousměrný Téměř v reálném čase 2 Obousměrné (oba servery) Konfigurace aktivní-aktivní se dvěma datovými centry (vysoká dostupnost pro dvě lokality)
Aktualizovatelné předplatné Téměř v reálném čase 1 Primárně jeden směr (občasné reverzní aktualizace) Pobočky, které primárně čtou, ale občas aktualizují (lokální opravy)

4. Nastavení SQL Server replikace

4.1 Předpoklady a požadavky

4.1.1 Požadavky na software

SQL Server replikace vyžaduje kompatibilní SQL Server verze napříč všemi účastníky topologie. Verze distributora musí být stejná nebo vyšší než verze vydavatele a odběratel se může nacházet v rámci dvou verzí vydavatele. Například SQL Server Vydavatel z roku 2016 může replikovat do SQL Server Předplatitelé z let 2012, 2014, 2016, 2017 nebo 2019.

4.1.2 Požadavky na povolení

Konfigurace replikace vyžaduje specifická oprávnění na každé úrovni. Členové pevné serverové role sysadmin mohou provádět všechny úlohy konfigurace replikace. Pro podrobnější oprávnění musí být uživatelé členy databázové role db_owner pro databáze vydavatelů a odběratelů.

4.2 Krok 1: Konfigurace distribuce

Konfigurace distribuce je prvním krokem v nastavení SQL Server replikace.

Konfigurace distribuce pomocí SQL Server Management Studio:

  1. Připojte se k SQL Server instance v SQL Server Studio pro správu.
  2. V Průzkumníku objektů klikněte pravým tlačítkem myši na replikace vyberte složku Konfigurace distribuce.
    Spustit konfiguraci distribuce v SQL Server Replikace.
  3. V Průvodci konfigurací distribuce klikněte na další na úvodní stránce.
    Průvodce konfigurací distribuce
  4. Na Distributor vyberte jednu z následujících možností na základě vašich topologických požadavků:
    • Místní distributorVyberte „Název serveru bude fungovat jako jeho vlastní distributor;“ SQL Server „vytvoří distribuční databázi a protokol“, pokud chcete, aby vydavatel a distributor běželi na stejné instanci (aktuální instanci). Tato konfigurace je jednodušší na nastavení a je vhodná pro menší prostředí nebo v případech, kdy by latence sítě mezi vydavatelem a distributorem způsobovala problémy.
    • Vzdálený distributorVyberte možnost „Použít následující server jako distributora“ a klikněte na přidat Chcete-li zadat vzdálený distribuční server, přesunete zpracování distribuce na samostatnou instanci. Tato konfigurace zlepšuje výkon při vysokých objemech replikace distribucí pracovní zátěže mezi více serverů. Budete muset zadat jméno vzdáleného distributora a heslo, které vydavatel použije pro připojení k distributorovi.

    Nakonfigurujte distributora v SQL Server replikace

  5. klikněte další pro určení umístění složky snímků. Pro zajištění přístupnosti v síti použijte cestu UNC (například \\název_serveru\sdílená_složka) namísto lokální cesty.
    Nakonfigurujte složku snímků v Průvodci konfigurací distribuce
  6. Na Distribuční databáze stránku, přijměte výchozí název distribuční databáze (obvykle „distribuce“) nebo zadejte vlastní název a poté nakonfigurujte umístění dat a souborů protokolu.
    Nakonfigurujte distribuční databázi v SQL Server replikace
  7. Na Vydavatelé stránku, ověřte, zda je aktuální server povolen jako vydavatel. Pokud nakonfigurujete aktuální server jako distributora, můžete přidat další vydavatele, kteří budou tohoto distributora používat.
    Nakonfigurujte vydavatele v SQL Server replikace
  8. Zkontrolujte akce průvodce a klikněte na úprava pro konfiguraci distribuce.
    Dokončete konfiguraci v SQL Server replikace

4.3 Krok 2: Vytvoření publikace

Po konfiguraci distribuce je dalším krokem vytvoření publikace, která definuje, které datové objekty budou replikovány předplatitelům.

Vytvoření publikace pomocí SQL Server Management Studio:

  1. V Průzkumníku objektů rozbalte replikace složka.
  2. Klepněte pravým tlačítkem myši Místní publikace a zvolte Nová publikace.
  3. Spustí se Průvodce novou publikací; klikněte na další na úvodní stránce.
  4. Vyberte databázi, kterou chcete publikovat, z Publikační databáze stránka. Tím se automaticky povolí publikování ve vybrané databázi.
  5. Na Typ publikace stránku, vyberte typ replikace: Publikace momentekTransakční publikace, Publikace typu peer-to-peernebo Sloučit publikaci.
  6. Na Články stránku, rozbalte Tabulky uzel a vyberte tabulky, které chcete zahrnout jako články.
  7. Volitelně rozbalit Uložené proceduryZobrazenínebo jiné typy objektů pro zahrnutí dalších článků.
  8. klikněte Vlastnosti článku nakonfigurovat filtrování nebo jiná nastavení specifická pro daný článek.
  9. Na Filtrovat řádky tabulky stránku, v případě potřeby přidejte filtry řádků.
  10. Na Agent pro snímky stránku zvolte, kdy se má snímek vytvořit: okamžitě, v určitý čas nebo podle plánu.
  11. Na Zabezpečení agentů stránku, zadejte kontext zabezpečení pro agenta Snapshot.
  12. Na Akce průvodce stránky, vyberte Vytvořte publikaci.
  13. Zadejte název publikace a klikněte úprava.
    Vytvořit novou publikaci v SQL Server replikace

4.4 Krok 3: Vytvoření předplatného

Po vytvoření publikace je dalším krokem vytvoření předplatných, která propojí publikaci s databázemi předplatitelů.

Předplatné může být typu push (spravované distributorem) nebo pull (spravované předplatitelem). Klíčové rozdíly spočívají v tom, kde předplatné vytvoříte a které umístění agenta vyberete, což určuje akci předplatného (push nebo pull).

Pro push předplatné (spravováno distributorem):

  1. Na vydavatel server, rozbalit replikace -> Místní publikace.
  2. Klikněte pravým tlačítkem myši na publikaci a vyberte Nové předplatné.

Pro odběr pull (spravováno Předplatitelem):

  1. Na odběratel server, rozbalit replikace, klikněte pravým tlačítkem myši Místní předplatnéa vyberte Nové předplatné.
  2. Na Vydání Stránka, na tlačítko Najít SQL Server Vydavatel a připojte se k serveru vydavatele.

Běžné kroky průvodce pro oba typy předplatného:

  1. V Průvodci novým odběrem klikněte na další na úvodní stránce.
  2. Vyberte publikaci a klikněte další.
  3. Na Místo distribučního agenta stránku, vyberte umístění agenta:
    • Push odběrVyberte možnost „Spustit všechny agenty u distributora“ – distributor odešle změny odběratelům.
    • Načíst předplatnéVyberte možnost „Spustit každého agenta u jeho odběratele“ – každý odběratel bude stahovat změny od distributora.
  4. Na Odběratelů vyberte existující servery odběratelů nebo klikněte na Přidat odběratele přidat nové.
  5. Pro každého odběratele vyberte cílovou databázi nebo vytvořte novou databázi. Poznámka: Databáze předplatného se musí lišit od databáze vydavatele, i když se používá stejná databáze. SQL Server instance.
  6. Na Zabezpečení distribučního agenta klikněte na tlačítko vlastností pro každé předplatné a nakonfigurujte kontext zabezpečení.
  7. Na Plán synchronizace stránku, zvolte průběžnou synchronizaci nebo plánovanou synchronizaci.
  8. Na Inicializovat předplatné stránky, vyberte Ihned inicializovat během dokončení průvodce nebo Při první synchronizaci.
  9. Zkontrolujte akce průvodce a klikněte úprava.
    Vytvořte si nové předplatné v SQL Server Replikace s Průvodcem novým předplatným.

5. Monitorování a řízení SQL Server replikace

5.1 Monitorování replikace pomocí nástroje Replication Monitor

Spuštění monitoru replikace:

  1. In SQL Server Management Studio, rozbalit replikace v Průzkumníku objektů.
  2. Klepněte pravým tlačítkem myši replikace a zvolte Spuštění monitoru replikace.
  3. Pokud nejsou registrováni žádní vydavatelé, klikněte na Přidat vydavatele v levém podokně.
  4. Vybrat přidat SQL Server Vydavatel a připojte se k serveru vydavatele.
  5. Vydavatel se zobrazí v levém podokně s rozbalitelnými uzly pro publikace a předplatné.

Použijte Monitor replikace k monitorování SQL Server Replikace.

5.2 Monitorování výkonu

5.2.1 Latence monitoru

Latence replikace je časové zpoždění mezi změnou, ke které dojde u vydavatele, a jejím použitím u odběratele. Sledujte latenci, abyste zajistili, že aktuálnost dat splňuje obchodní požadavky.

Pomocí nástroje Monitor replikace si můžete zobrazit metriky latence na kartě Všechna předplatná. Sloupec Latence zobrazuje průměrnou latenci v sekundách. Pro transakční replikaci poskytují sledovací tokeny přesná měření latence vkládáním transakcí markerů, které jsou sledovány v rámci replikačního kanálu.

Použití sledovacích tokenů:

  1. V části Monitor replikace vyberte transakční publikaci.
  2. Klepněte na tlačítko Žetony sledovače Karta.
  3. klikněte Vložit sledovací prvek vložit markerovou transakci.
  4. Sledujte token na jeho cestě od vydavatele k distributorovi a odběrateli.
  5. Zobrazte si čas potřebný pro každý segment a identifikujte úzká hrdla.

Vložte sledovací token pro přesnější měření latence SQL Server replikace

5.2.2 Propustnost monitoru

Propustnost měří objem dat replikovaných v čase, obvykle vyjádřený jako transakce za sekundu nebo příkazy za sekundu. Sledujte propustnost, abyste zajistili, že replikace bude držet krok s aktivitou vydavatele.

I když Monitor replikace zobrazuje základní stav synchronizace, rychlost doručování a podrobné metriky propustnosti nejsou v grafickém rozhraní viditelné. Pro sledování propustnosti použijte dotazy T-SQL v distribuční databázi:

USE distribution
GO

-- Direct join to avoid subquery
SELECT TOP 20
    h.time AS [Time],
    a.name AS [Agent Name],
    h.runstatus AS [Status],
    h.delivered_transactions AS [Delivered Transactions],
    h.delivered_commands AS [Delivered Commands],
    h.delivery_rate AS [Delivery Rate (commands/sec)],
    h.delivery_latency AS [Delivery Latency (ms)],
    h.comments AS [Comments]
FROM MSdistribution_history h
JOIN MSdistribution_agents a ON h.agent_id = a.id
WHERE a.name LIKE '%MyPublication2%'
AND h.runstatus IN (2, 3, 4, 6)
ORDER BY h.time DESC
GO

Stavové kódy: 1 = Spuštěno, 2 = Probíhá, 3 = Úspěšně, 4 = Nečinné, 5 = Opakovat, 6 = Neúspěšně. Porovnejte míru doručení s mírou transakcí vydavatele a identifikujte situace, kdy replikace zaostává. Čítače výkonu v Sledování výkonu systému Windows poskytnout další metriky propustnosti pro každého replikačního agenta.

5.2.3 Identifikace úzkých míst

Úzká hrdla replikace se mohou vyskytovat na více místech v topologii. U vydavatele může nadměrná doba generování snímků nebo zpoždění agenta čtečky protokolů naznačovat omezení zdrojů. Během replikačních aktivit monitorujte CPU, paměť a diskové I/O operace u vydavatele.

U distributora zkontrolujte, zda se v distribuční databázi hromadí transakce. Velký počet nedistribuovaných příkazů naznačuje, že distributor nedokáže držet krok s doručováním. Monitorujte zdroje serveru distributora a pro scénáře s vysokým objemem zásilek zvažte použití vyhrazeného vzdáleného distributora.

Zkontrolujte nedistribuované příkazy a zjistěte, kde se nacházejí úzká místa ve výkonu. SQL Server replikace

U odběratele může být pomalé uplatňování změn způsobeno nedostatečnými zdroji, chybějícími indexy nebo omezeními, která zpomalují operace vkládání. Sledujte využití zdrojů odběratele a výkon dotazů, když je spuštěn distribuční agent. Omezení šířky pásma sítě mezi komponentami také způsobují úzká hrdla, zejména u velkých objemů dat.

5.3 Správa replikačních agentů

5.3.1 Spuštění a zastavení agentů

Spuštění nebo zastavení replikačního agenta:

  1. In SQL Server Management Studio, rozbalit SQL Server Činidlo -> Zaměstnání.
  2. Vyhledejte úlohu replikačního agenta (názvy obvykle zahrnují informace o publikaci a odběrateli).
  3. Klikněte pravým tlačítkem myši na úlohu a vyberte Spustit úlohu or Zastavit úlohu.

Spuštění nebo zastavení replikačního agenta v SQL Server replikace

5.3.2 Konfigurace profilů agentů

Profily agentů obsahují sady parametrů, které řídí chování agentů. SQL Server poskytuje výchozí profily optimalizované pro běžné scénáře a pro specifické potřeby si můžete vytvořit vlastní profily.

Úprava profilů agentů:

  1. V Průzkumníku objektů rozbalte replikace.
  2. Klepněte pravým tlačítkem myši replikace a zvolte Vlastnosti distributora.
  3. Klepněte na tlačítko Výchozí nastavení profilu .
  4. Z rozbalovací nabídky vyberte typ agenta (Snímek, Čtečka protokolů, Distribuce nebo Sloučení).
  5. Vyberte profil a klikněte Nemovitosti zobrazit hodnoty parametrů.
  6. klikněte Nový profil vytvořit vlastní profil na základě existujícího profilu.
  7. Upravte parametry podle potřeby a klikněte OK.

Konfigurace profilu agenta

Profil můžete na agenta použít úpravou vlastností předplatného a výběrem požadovaného profilu z rozbalovací nabídky Profil agenta.

5.3.3 Parametry a nastavení agenta

Parametry agenta dolaďují výkon a chování. Mezi klíčové parametry distribučního agenta patří CommitBatchSize (počet transakcí použitých na potvrzení), CommitBatchThreshold (počet příkazů před potvrzením), SubscriptionStreams (paralelní připojení pro rychlejší doručení) a QueryTimeout (časový limit pro příkazy).

Pro agenta čtečky protokolů patří mezi důležité parametry ReadBatchSize (počet transakcí přečtených během skenování), ReadBatchThreshold (příkazy před doručením) a PollingInterval (prodleva mezi skenováními protokolů). Tyto parametry upravte na základě objemu transakcí a požadavků na latenci.

Konfigurace vlastností agenta

5.4 Aspekty zálohování a obnovy

Zálohování databází zapojených do replikace vyžaduje zvláštní pozornost. Pro databázi vydavatele jsou nezbytné pravidelné úplné zálohy a zálohy transakčních protokolů. Při zálohování databází v transakční replikaci označte zálohu databáze pro podporu replikace pomocí možnosti WITH REPLICATION. Distribuční databázi pravidelně zálohujte, abyste ochránili konfiguraci replikace.

Při obnovování databáze vydavatele na stejný server se stejným názvem použijte možnost WITH KEEP_REPLICATION pro zachování stavu replikace. Tato možnost zajišťuje, že transakce, které ještě nebyly zpracovány agentem Log Reader, zůstanou označeny pro replikaci, což umožňuje automatické pokračování replikace bez opětovné inicializace odběrů.

V scénářích obnovy po havárii, kdy zálohy nejsou k dispozici, jsou poškozeny nebo jsou poškozeny soubory databáze, mohou být nezbytné specializované nástroje pro obnovu. DataNumen SQL Recovery dokáže extrahovat data z poškozených nebo nepřístupných souborů MDF a NDF, což představuje poslední možnost v případě selhání standardních postupů obnovy.

Pro více informací o SQL Server zálohování, viz naše komplexní průvodce.

6. Často kladené otázky (FAQ)

Otázka: Jaký je rozdíl mezi replikací snímků a transakční replikací?

A: Replikace snímků vytvoří kompletní kopii dat v určitém časovém bodě a použije ji na odběratele, což je vhodné pro méně časté změny dat. Transakční replikace začíná počátečním snímkem a poté průběžně replikuje jednotlivé transakce, jakmile k nim dojde, čímž poskytuje synchronizaci často se měnících dat téměř v reálném čase.

Otázka: Mohu replikovat mezi různými SQL Server verze?

A: Ano, SQL Server Replikace podporuje kompatibilitu verzí v omezeném rozsahu. Verze distributora musí být stejná nebo vyšší než verze vydavatele a odběratel se může nacházet v rozmezí dvou verzí vydavatele. Například pokud je vydavatel SQL Server 2016, předplatitel může být SQL Server 2012, 2014, 2016, 2017 nebo 2019.

Otázka: Jak řeším konflikty při slučovací replikaci?

A: Replikace slučováním poskytuje vestavěné mechanismy pro detekci a řešení konfliktů. Řešiče konfliktů můžete konfigurovat na úrovni článku, a to výběrem z vestavěných řešičů nebo implementací vlastních řešičů konfliktů. Konflikty se obvykle řeší pomocí metod založených na prioritě nebo časovém razítku s možností protokolování konfliktů pro ruční kontrolu.

Otázka: Jaký je dopad replikace na výkon?

A: Replikace ovlivňuje výkon několika způsoby: vydavatel má režijní náklady spojené se sledováním změn a generováním snímků, distributor využívá zdroje k ukládání a přeposílání transakcí a během přenosu dat je spotřebovávána šířka pásma sítě. Dopad se liší podle typu replikace, přičemž replikace snímků způsobuje periodické vysoce náporové zátěže a transakční replikace udržuje konzistentnější, ale nepřetržitější zátěž.

Otázka: Jak zabezpečím svou replikační topologii?

A: Zabezpečte svou replikační topologii implementací několika osvědčených postupů: používejte ověřování systému Windows nebo silné SQL Server ověřování, šifrování připojení pomocí TLS, zabezpečení složky se snímky pomocí vhodných NTFS oprávnění, nakonfigurujte seznam PAL (Publication Access List) pro řízení přístupu, používejte samostatné servisní účty s minimálními požadovanými oprávněními pro každého replikačního agenta a pravidelně auditujte nastavení zabezpečení replikace.

Otázka: Mohu replikovat do databáze Azure SQL?

A: Ano, replikaci do Azure SQL Database můžete provádět pomocí transakční replikace s místním řešením. SQL Server nebo spravovanou instanci Azure SQL jako vydavatele a distributora. Databáze Azure SQL může sloužit jako odběratel, ale nikoli jako vydavatel nebo distributor. Replikace sloučení a replikace peer-to-peer nejsou u databáze Azure SQL podporovány.

Otázka: Jak mohu sledovat zpoždění replikace?

A: Sledujte zpoždění replikace pomocí nástroje Monitor replikace v SQL Server Management Studio, které zobrazuje metriky latence pro každé předplatné. Můžete také dotazovat tabulky distribuční databáze, jako jsou MSdistribution_history a MSrepl_commands, používat čítače výkonu specifické pro replikační agenty nebo nastavovat upozornění na základě prahových hodnot latence pro proaktivní detekci a řešení zpoždění synchronizace.

Otázka: Co se stane, když je předplatitel offline?

A: Pokud je odběratel offline, chování závisí na typu replikace. U transakční replikace se transakce hromadí v distribuční databázi, dokud se odběratel nevrátí do režimu online, poté se synchronizace obnoví. U slučovací replikace se změny sledují na obou stranách a sloučí se po obnovení připojení. Nastavení doby uchování určuje, jak dlouho se data uchovávají, než je nutné je znovu inicializovat.

Otázka: Jak mohu přidat nové články do existující publikace?

A: Chcete-li přidat nové články do existující publikace, použijte SQL Server V aplikaci Management Studio upravte vlastnosti publikace a vyberte další objekty nebo použijte uloženou proceduru sp_addarticle. Po přidání článků vygenerujte nový snímek a znovu inicializujte všechna předplatná, abyste zajistili, že předplatitelé nové články obdrží. Některé změny mohou v závislosti na nastavení publikace vyžadovat opětovnou inicializaci předplatného.

Otázka: Jak odstraním replikaci z databáze?

A: Replikaci z databáze odeberete tak, že nejprve smažete všechna předplatná pomocí sp_dropsubscription, poté publikaci zrušíte pomocí sp_droppublication a nakonec publikování v databázi zakážete pomocí sp_replicationdboption. Pokud je server distributorem, zakažte distribuci pomocí sp_dropdistributor. Před odebráním konfigurace replikace vždy zálohujte databáze.

Q: Jaký je mezi tím rozdíl SQL Server Replikace a skupiny dostupnosti AlwaysOn?

A: Replikace je řešení pro distribuci a integraci dat, které funguje na úrovni objektů, zatímco Vždy dostupné skupiny dostupnosti je řešení pro vysokou dostupnost a obnovu po havárii, které funguje na úrovni databáze.

7. závěr

SQL Server Replikace poskytuje robustní rámec pro distribuci a synchronizaci dat mezi více databázemi a umístěními. Technologie podporuje různé scénáře prostřednictvím různých typů replikace.

Výběr správné strategie replikace závisí na vašich specifických požadavcích. Zvažte frekvenci změn dat, požadavky na latenci, zda předplatitelé potřebují provádět aktualizace, charakteristiky sítě a potřeby předplatitelů na autonomii. Replikace snapshotů funguje nejlépe pro méně často se měnící referenční data, kde latence není kritická. Transakční replikace je vhodná pro scénáře s vysokým objemem dat vyžadující nízkou latenci a primárně jednosměrný tok dat.

Zvolte slučovací replikaci, pokud odběratelé potřebují autonomní provoz s offline funkcemi a obousměrnou synchronizací. Implementujte replikaci typu peer-to-peer pro vyvažování zátěže při operacích čtení napříč více aktivními uzly s téměř reálnou konzistencí. Zvažte hybridní přístupy kombinující více typů replikace pro složité scénáře s různými požadavky.

Reference


O autorovi

Yuan Sheng je seniorní správce databází (DBA) s více než 10 lety zkušeností v SQL Server prostředí a správu podnikových databází. Úspěšně vyřešil stovky scénářů obnovy databází ve finančních službách, zdravotnictví a výrobních organizacích.

Yuan se specializuje na SQL Server obnova databází, řešení pro vysokou dostupnost a optimalizace výkonu. Jeho rozsáhlé praktické zkušenosti zahrnují správu databází o velikosti více terabajtů, implementaci skupin dostupnosti Always On a vývoj automatizovaných strategií zálohování a obnovy pro kritické podnikové systémy.

Díky svým technickým znalostem a praktickému přístupu se Yuan zaměřuje na vytváření komplexních průvodců, které pomáhají správcům databází a IT profesionálům řešit složité SQL Server efektivně zvládá výzvy. Udržuje si přehled o nejnovějších SQL Server vydání a vyvíjející se databázové technologie společnosti Microsoft a pravidelně testuje scénáře obnovy, aby zajistil, že jeho doporučení odrážejí osvědčené postupy z reálného světa.

Máte otázky ohledně SQL Server potřebujete další pokyny k odstraňování problémů s databází? Yuan vítá zpětnou vazbu a návrhy pro vylepšení těchto technických zdrojů.

Sdílej nyní: