Zdieľať teraz:

1. Úvod do SQL Server replikácie

1.1 Čo je SQL Server Replikácia?

SQL Server Replikácia je súbor technológií na kopírovanie a distribúciu údajov a databázových objektov z jednej databázy do druhej a následnú synchronizáciu medzi databázami s cieľom zachovať konzistenciu. Táto funkcia vám umožňuje vytvárať a udržiavať viacero kópií vašich údajov na rôznych serveroch a miestach, čím sa zabezpečí dostupnosť a spoľahlivosť údajov.

1.2 Účel a výhody replikácie

SQL Server Replikácia slúži viacerým kritickým obchodným potrebám a poskytuje významné výhody pre správu databáz a distribúciu údajov:

  • Distribúcia údajov medzi lokalitami: Replikácia umožňuje zdieľať dáta medzi regionálnymi pobočkami alebo globálnymi lokalitami, čím sa zlepšuje prevádzková efektivita zabezpečením lokálneho prístupu k požadovaným dátam. To znižuje latenciu siete a poskytuje lepší výkon pre geograficky rozptýlených používateľov.
  • Vysoká dostupnosť a obnova po havárii: Udržiavaním replík kritických údajov na viacerých serveroch replikácia poskytuje redundanciu, ktorá chráni pred zlyhaniami hardvéru a katastrofami. V prípade zlyhania primárneho servera môžu replikované kópie slúžiť ako záložné zdroje, čím sa minimalizujú prestoje a strata údajov.
  • Vyvažovanie záťaže a škálovateľnosť: Replikácia rozdeľuje operácie čítania medzi viacero serverov, čím zabraňuje tomu, aby sa ktorýkoľvek server stal úzkym hrdlom. Tento prístup zvyšuje výkon systému a umožňuje horizontálne škálovanie infraštruktúry s rastúcimi požiadavkami na dáta a používateľov.
  • Prehľady a analýzy v reálnom čase: Presunutie reportovacích a analytických dotazov na replikované servery znižuje zaťaženie produkčných databáz. Používatelia môžu spúšťať komplexné analytické dotazy na dáta takmer v reálnom čase bez ovplyvnenia operačných systémov, čím sa zabezpečí výkon aj aktuálnosť dát.
  • Integrácia a konsolidácia údajov: Replikácia uľahčuje zlúčenie údajov z rôznych zdrojov do jedného konsolidovaného zobrazenia. To je obzvlášť cenné pre organizácie s viacerými pobočkami, ktoré potrebujú agregovať údaje v centrále, alebo pre vytváranie centralizovaných dátových skladov z distribuovaných operačných systémov.

2. SQL Server Architektúra a komponenty replikácie

SQL Server Architektúra replikácie pozostáva z niekoľkých vzájomne prepojených komponentov, ktoré spolupracujú na distribúcii a synchronizácii údajov v rámci vašej databázovej infraštruktúry. Táto časť skúma základné komponenty vrátane vydavateľov, distribútorov, predplatiteľov, publikácií, článkov, predplatného a agentov, ktorí koordinujú tok údajov medzi nimi:

  • Vydavateľ: Vydavateľ je SQL Server napríklad hostjedna alebo viac databáz obsahujúcich dáta, ktoré sa majú replikovať. Slúži ako autoritatívny zdroj v replikačnej topológii.
  • Distribútor: Distribútor je SQL Server inštancia, ktorá spravuje tok údajov medzi vydavateľmi a predplatiteľmi. Inštancia distribútora hostje distribučná databáza, ktorá uchováva replikačné metadáta a transakcie.
  • Predplatiteľ: Predplatiteľ je SQL Server inštancia, ktorá prijíma a ukladá replikované údaje od vydavateľov. Inštancia jedného predplatiteľa môžeost viacero databáz predplatiteľov, pričom každá prijíma údaje z rôznych publikácií.
  • zverejnenia: Publikácia definuje, ktoré údaje sa budú replikovať a ako sa budú distribuovať predplatiteľom. Zoskupuje súvisiace články a stanovuje metodiku replikácie, ktorá sa vzťahuje na všetky obsiahnuté objekty.
  • Článok: Článok je základným stavebným kameňom replikácie, ktorý predstavuje individuálny objekt databázy, ktorý bude distribuovaný predplatiteľom.
  • Prihlásenie: Predplatné vytvára vzťah medzi publikáciou a predplatiteľom a definuje, ako a kedy sa údaje doručujú do cieľovej databázy.
  • splnomocnenci: Agenti sú špecializované procesy, ktoré vykonávajú skutočnú prácu presunu a synchronizácie údajov medzi replikačnými komponentmi.

SQL Server Architektúra a komponenty replikácie

3. Druhy SQL Server replikácie

SQL Server poskytuje niekoľko typov replikácie, pričom každý je navrhnutý pre špecifické scenáre distribúcie údajov a obchodné požiadavky. Pochopenie charakteristík, výhod a obmedzení každého typu je nevyhnutné pre výber správneho prístupu pre vaše prostredie.

3.1 Replikácia snímok

Replikácia snímok vytvorí snímku údajov, ktoré sa majú v konkrétnom čase publikovať, a potom distribuuje presnú kompletnú kópiu predplatiteľom. Nemonitoruje následné zmeny, kým sa nevygeneruje ďalšia snímka. Replikácia snímok je najjednoduchšou formou replikácie, vďaka čomu je vhodná pre scenáre, kde sa údaje menia zriedkavo alebo kde je prijateľné mať mierne zastarané údaje.

Medzi bežné prípady použitia patrí distribúcia referenčných údajov, ako sú cenníky alebo výmenné kurzy, ktoré sa pravidelne aktualizujú, poskytovanie počiatočných súborov údajov pre dátové sklady a scenáre, v ktorých je úplná aktualizácia údajov vhodnejšia ako sledovanie jednotlivých zmien. Napríklad spoločnosť môže použiť replikáciu snímok na distribúciu aktualizovaných katalógov produktov do pobočiek raz denne.

Hlavnými výhodami replikácie snímok sú jej jednoduchosť, nízke nároky na údržbu a schopnosť replikovať dáta bez primárnych kľúčov. Má však aj značné nevýhody vrátane vysokého vplyvu pri generovaní snímok v dôsledku uzamknutia tabuliek, vysokej latencie medzi aktualizáciami a neefektívnosti pri veľkých súboroch údajov alebo často sa meniacich dátach. Akékoľvek úpravy vykonané na úrovni odberateľov sú zabezpečené.ost keď sa použije ďalšia snímka.

3.2 Transakčná replikácia

Transakčná replikácia poskytuje zmeny od vydavateľa k predplatiteľom takmer v reálnom čase replikáciou jednotlivých transakcií hneď, ako k nim dôjde. Začína sa počiatočným snímkom na stanovenie základnej línie, potom sa priebežne monitoruje protokol transakcií, či neobsahuje zmeny v publikovaných článkoch, a postupne sa doručujú predplatiteľom.

Transakčná replikácia je ideálna pre scenáre medzi servermi, ktoré vyžadujú vysokú priepustnosť a nízku latenciu. Medzi bežné prípady použitia patrí zlepšenie škálovateľnosti a dostupnosti presunutím operácií čítania na servery predplatiteľov, podpora dátového skladovania a reportovania s údajmi takmer v reálnom čase, integrácia údajov z viacerých lokalít do centrálneho umiestnenia a presunutie dávkového spracovania na vyhradené servery. Napríklad platforma elektronického obchodu môže používať transakčnú replikáciu na udržiavanie synchronizovaných údajov o zásobách v regionálnych databázach.

Medzi výhody transakčnej replikácie patrí nízka latencia doručovania údajov, vysoká priepustnosť pre veľké objemy transakcií a možnosť vykonávať nereplikované úpravy u odberateľov. Nevýhody zahŕňajú väčšiu zložitosť v porovnaní s replikáciou snímok, požiadavku na primárne kľúče v replikovaných tabuľkách a možnosť prerušenia replikácie, ak dôjde ku konfliktom, ako sú napríklad porušenia primárnych kľúčov u odberateľov.

3.3 Zlúčenie replikácie

Zlúčená replikácia je špeciálne navrhnutá pre prostredia, kde predplatitelia potrebujú pracovať offline alebo s prerušovaným pripojením a potom synchronizovať zmeny, keď je pripojenie k dispozícii. Tento typ replikácie umožňuje nezávislú zmenu údajov na strane vydavateľa aj predplatiteľov, sledovanie zmien pomocou spúšťačov a tabuliek metadát a automatické zlúčenie úprav počas synchronizácie.

Zlúčená replikácia je určená pre mobilné aplikácie a distribuované serverové prostredia, kde dochádza k autonómnym zmenám. Medzi prípady použitia patrí automatizácia obchodného tímu, kde mobilní používatelia pracujú offline a synchronizujú sa neskôr, systémy predajných miest, ktoré fungujú nezávisle a pravidelne konsolidujú údaje, a distribuované aplikácie, kde viacero prevádzok potrebuje aktualizovať zdieľané údaje. Napríklad maloobchodný reťazec môže použiť zlúčenú replikáciu, aby každý obchod mohol spravovať lokálne zásoby a zároveň sa synchronizovať s centrálnym skladovým systémom.

Medzi výhody zlúčenej replikácie patrí podpora autonómnych odberateľov, ktorí môžu vykonávať zmeny, tolerancia prerušovaného sieťového pripojenia a flexibilné riešenie konfliktov. Medzi nevýhody patrí väčšia zložitosť nastavenia a údržby, réžia výkonu zo sledovania metadát a spúšťačov, pridávanie stĺpcov uniqueidentifier do tabuliek a potenciál konfliktov, ktoré si vyžadujú správu a riešenie.

3.4 Replikácia medzi sieťami peer-to-peer

Replikácia typu peer-to-peer je založená na transakčnej replikácii a umožňuje viacerým inštanciám servera (tri alebo viac uzlov) fungovať ako rovnocenní peeri, pričom každý uzol slúži súčasne ako vydavateľ aj odberateľ. V tejto topológii všetky uzly uchovávajú identické kópie údajov a dokážu spracovať operácie čítania aj zápisu, čím poskytujú skutočne distribuované prostredie s viacerými hlavnými uzlami.

Peer-to-peer replikácia je vhodná pre aplikácie vyžadujúce škálovanie operácií čítania a vysokú dostupnosť. Medzi prípady použitia patria webové aplikácie, ktoré distribuujú katalógové dotazy medzi viaceré uzly a zároveň zachovávajú konzistentnosť údajov, scenáre vyžadujúce údržbu alebo aktualizácie bez prestojov odpojením jednotlivých uzlov od siete a globálne aplikácie s dátovými centrami v rôznych regiónoch. Napríklad celosvetová organizácia poskytujúca softvérovú podporu môže používať peer-to-peer replikáciu medzi pobočkami v rôznych časových pásmach, takže každé miesto má lokálny prístup k aktuálnym údajom.

Medzi výhody replikácie typu peer-to-peer patrí zlepšený výkon čítania prostredníctvom horizontálneho škálovania, vyššia dostupnosť s viacerými aktívnymi uzlami a konzistencia údajov takmer v reálnom čase. Medzi nevýhody patrí požiadavka na Enterprise Edition, zložitosť správy topológií s viacerými uzlami, potreba identickej schémy a údajov na všetkých uzloch a potenciál konfliktov, keď operácie zápisu nie sú správne rozdelené.

3.5 Obojsmerná replikácia

Obojsmerná replikácia je špecifická topológia transakčnej replikácie navrhnutá špeciálne pre prostredia s dvoma servermi, kde si oba servery potrebujú navzájom vymieňať zmeny. Každý server publikuje dáta a prihlasuje sa na odber rovnakých dát z druhého servera, čím vytvára jednoduchý obojsmerný synchronizačný tok. Zatiaľ čo replikácia typu peer-to-peer môže podporovať aj dva uzly, obojsmerná replikácia poskytuje v tomto konkrétnom scenári vylepšený výkon.

Obojsmerná replikácia je vhodná pre scenáre vyžadujúce dva aktívne servery so synchronizovanými údajmi, ako sú napríklad konfigurácie typu aktívny-aktívny pre vysokú dostupnosť alebo geograficky distribuované aplikácie, kde každá lokalita potrebuje lokálny prístup na zápis. Topológia vyžaduje starostlivý návrh aplikácie na rozdelenie aktualizácií údajov a predchádzanie konfliktom.

Medzi výhody patrí optimalizovaný výkon pre scenáre s dvoma servermi, jednoduchšia konfigurácia v porovnaní s replikáciou typu peer-to-peer, synchronizácia takmer v reálnom čase a nižšia réžia ako pri replikácii zlúčením. Nevýhody zahŕňajú obmedzenie na presne dva servery, absenciu vstavaného riešenia konfliktov vyžadujúceho starostlivý návrh aplikácie a potrebu správnych stratégií rozdelenia na predchádzanie konfliktom.

3.6 Aktualizovateľné predplatné

Aktualizovateľné predplatné rozširujú transakčnú replikáciu, aby umožnili predplatiteľom vykonávať občasné zmeny replikovaných údajov, ktoré sa potom šíria späť k vydavateľovi a ostatným predplatiteľom. Na rozdiel od zlúčenej replikácie alebo topológií peer-to-peer navrhnutých pre časté obojsmerné aktualizácie, aktualizovateľné predplatné sú určené pre scenáre, kde je primárny tok údajov jednosmerný (od vydavateľa k predplatiteľom), ale predplatitelia občas potrebujú vykonať opravy alebo aktualizácie.

Aktualizovateľné predplatné sú vhodné pre scenáre, kde most Aktualizácie sa vyskytujú u vydavateľa, ale občasné aktualizácie sú potrebné aj u predplatiteľov, napríklad v terénnych pobočkách, ktoré primárne čítajú údaje, ale potrebujú vykonávať lokálne opravy alebo aktualizácie. Topológia si vyžaduje starostlivé plánovanie, aby sa minimalizovali konflikty a zabezpečila konzistencia údajov.

Medzi hlavné výhody patrí povolenie obmedzeného počtu operácií zápisu na úrovni odberateľov pri zachovaní výkonnostných charakteristík transakčnej replikácie. Medzi nevýhody patrí zvýšená zložitosť, potenciál pre konflikty vyžadujúce riešenie, réžia výkonu z dvojfázového protokolu potvrdenia v režime okamžitej aktualizácie a požiadavka, aby všetky replikované tabuľky mali primárne kľúče.

3.7 Porovnanie rôznych typov replikácií

Typ replikácie Čas aktualizácie Počet vydavateľov Smer Použite scenáre
Momentka Bod v čase 1 One Direction (Vydavateľ → Predplatitelia) Zriedkavo sa meniace referenčné údaje (cenníky, výmenné kurzy)
transakčné Takmer v reálnom čase 1 One Direction (Vydavateľ → Predplatitelia) Vysokokapacitné scenáre (inventár elektronického obchodu, dátové sklady, reporting)
ísť Periodické (keď je pripojené) 1 Obojsmerné (Vydavateľ ↔ Predplatitelia) Mobilné aplikácie, offline pracovníci (automatizácia obchodného tímu, terénne služby)
Peer-to-peer Takmer v reálnom čase Viacnásobné (3 alebo viac) Obojsmerný (všetky uzly) Globálne nasadenia vo viacerých dátových centrách (celosvetové pobočky s lokálnym prístupom na čítanie a zápis)
Obojsmerný Takmer v reálnom čase 2 Obojsmerné (oba servery) Konfigurácie s dvoma aktívnymi dátovými centrami (vysoká dostupnosť dvoch lokalít)
Aktualizovateľné predplatné Takmer v reálnom čase 1 Primárne jeden smer (občasné aktualizácie spätného smeru) Pobočky, ktoré primárne čítajú, ale občas aktualizujú (lokálne opravy)

4. Nastavenie SQL Server replikácie

4.1 Predpoklady a požiadavky

4.1.1 Softvérové ​​požiadavky

SQL Server replikácia vyžaduje kompatibilné SQL Server verzie medzi všetkými účastníkmi topológie. Verzia distribútora musí byť rovnaká alebo vyššia ako verzia vydavateľa a predplatiteľ môže byť v rámci dvoch verzií vydavateľa. Napríklad SQL Server Vydavateľ z roku 2016 môže replikovať do SQL Server Predplatitelia z rokov 2012, 2014, 2016, 2017 alebo 2019.

4.1.2 Požiadavky na povolenia

Konfigurácia replikácie vyžaduje špecifické povolenia na každej úrovni. Členovia fixnej ​​serverovej roly sysadmin môžu vykonávať všetky úlohy konfigurácie replikácie. Pre podrobnejšie povolenia musia byť používatelia členmi databázovej roly db_owner pre databázy vydavateľa a odberateľa.

4.2 Krok 1: Konfigurácia distribúcie

Konfigurácia distribúcie je prvým krokom pri nastavení SQL Server replikácie.

Konfigurácia distribúcie pomocou SQL Server Štúdio správy:

  1. Pripojte sa k SQL Server napríklad v SQL Server Štúdio manažmentu.
  2. V Prieskumníkovi objektov kliknite pravým tlačidlom myši na replikácie a vyberte položku Konfigurácia distribúcie.
    Starkonfigurovať distribúciu v SQL Server Replikácia.
  3. V Sprievodcovi konfiguráciou distribúcie kliknite na ďalšie na uvítacej stránke.
    Sprievodca konfiguráciou distribúcie
  4. na Distribútor vyberte si jednu z nasledujúcich možností na základe vašich topologických požiadaviek:
    • Miestny distribútorVyberte „Názov servera bude fungovať ako jeho vlastný distribútor; SQL Server vytvorí distribučnú databázu a protokol“, ak chcete, aby vydavateľ a distribútor bežali na tej istej inštancii (aktuálnej inštancii). Táto konfigurácia sa jednoduchšie nastavuje a je vhodná pre menšie prostredia alebo keď by latencia siete medzi vydavateľom a distribútorom spôsobovala problémy.
    • Vzdialený distribútorVyberte možnosť „Použiť nasledujúci server ako distribútora“ a kliknite na pridať Ak chcete presunúť spracovanie distribúcie na samostatnú inštanciu, zadajte vzdialený distribučný server. Táto konfigurácia zlepšuje výkon pri vysokých objemoch replikácie rozdelením pracovnej záťaže medzi viacero serverov. Budete musieť zadať meno vzdialeného distribútora a heslo, ktoré vydavateľ použije na pripojenie k distribútorovi.

    Nakonfigurujte distribútora v SQL Server replikácie

  5. kliknite ďalšie na zadanie umiestnenia priečinka so snímkami. Namiesto lokálnej cesty použite cestu UNC (napríklad \\názov_servera\zdieľ.\priečinok), aby ste zabezpečili dostupnosť v celej sieti.
    Nakonfigurujte priečinok snímok v Sprievodcovi konfiguráciou distribúcie
  6. na Distribučná databáza stránku, akceptujte predvolený názov distribučnej databázy (zvyčajne „distribúcia“) alebo zadajte vlastný názov a potom nakonfigurujte umiestnenia údajov a súborov denníka.
    Nakonfigurujte distribučnú databázu v SQL Server replikácie
  7. na Vydavatelia overte, či je aktuálny server povolený ako vydavateľ. Ak nakonfigurujete aktuálny server ako distribútora, môžete pridať ďalších vydavateľov, ktorí budú používať tohto distribútora.
    Nakonfigurujte vydavateľov v SQL Server replikácie
  8. Skontrolujte akcie sprievodcu a kliknite na úprava nakonfigurovať distribúciu.
    Dokončite konfiguráciu v SQL Server replikácie

4.3 Krok 2: Vytvorenie publikácie

Po konfigurácii distribúcie je ďalším krokom vytvorenie publikácie, ktorá definuje, ktoré dátové objekty sa budú replikovať predplatiteľom.

Vytvorenie publikácie pomocou SQL Server Štúdio správy:

  1. V Prieskumníkovi objektov rozbaľte replikácie zložky.
  2. Kliknite pravým tlačidlom myši Miestne publikácie a zvoľte Nová publikácia.
  3. Sprievodca novými publikáciamitarkliknite ďalšie na uvítacej stránke.
  4. Vyberte databázu, ktorú chcete publikovať z Databáza publikácií stránka. Týmto sa automaticky povolí publikovanie vo vybranej databáze.
  5. na Typ publikácie stránku, vyberte typ replikácie: Publikácia momentiekTransakčná publikácia, Publikácia typu Peer-to-Peer, Alebo Zlúčiť publikáciu.
  6. na Články stránku, rozbaľte ju stoly uzol a vyberte tabuľky, ktoré chcete zahrnúť ako články.
  7. Voliteľne rozbaliť Uložené procedúryPohľadyalebo iné typy objektov na zahrnutie ďalších článkov.
  8. kliknite Vlastnosti článku nakonfigurovať filtrovanie alebo iné nastavenia špecifické pre daný článok.
  9. na Filtrovať riadky tabuľky stránku, v prípade potreby pridajte filtre riadkov.
  10. na Agent pre snímky vyberte, kedy sa má snímka vytvoriť: okamžite, v konkrétnom čase alebo podľa plánu.
  11. na Zabezpečenie agentov stránku, zadajte bezpečnostný kontext pre agenta Snapshot.
  12. na Akcie sprievodcu stránky, vyberte Vytvorte publikáciu.
  13. Zadajte názov publikácie a kliknite úprava.
    Vytvoriť novú publikáciu v SQL Server replikácie

4.4 Krok 3: Vytvorenie predplatného

Po vytvorení publikácie je ďalším krokom vytvorenie predplatných, ktoré prepoja publikáciu s databázami predplatiteľov.

Predplatné môže byť typu push (spravované distribútorom) alebo pull (spravované predplatiteľom). Kľúčové rozdiely sú v tom, kde predplatné vytvoríte a ktoré miesto agenta vyberiete, čo určuje akciu predplatného (push alebo pull).

Pre push predplatné (spravované distribútorom):

  1. na vydavateľ server, rozbaliť replikácie -> Miestne publikácie.
  2. Kliknite pravým tlačidlom myši na publikáciu a vyberte Nové predplatné.

Pre odber Pull (spravované Predplatiteľom):

  1. na odberateľ server, rozbaliť replikácie, kliknite pravým tlačidlom myši Miestne predplatnéa vyberte položku Nové predplatné.
  2. na uverejnenie Stránka, na tlačidlo nájsť SQL Server vydavateľ a pripojte sa k serveru vydavateľa.

Bežné kroky sprievodcu pre oba typy predplatného:

  1. V Sprievodcovi novým predplatným kliknite na ďalšie na uvítacej stránke.
  2. Vyberte publikáciu a kliknite na ďalšie.
  3. na Umiestnenie distribučného agenta stránku, vyberte umiestnenie agenta:
    • Push predplatnéVyberte možnosť „Spustiť všetkých agentov u distribútora“ – distribútor odošle zmeny predplatiteľom.
    • Stiahnutie predplatnéhoVyberte možnosť „Spustiť každého agenta u jeho odberateľa“ – každý odberateľ bude sťahovať zmeny od distribútora.
  4. na Odberatelia vyberte existujúce servery predplatiteľov alebo kliknite na Pridať odberateľa pridať nové.
  5. Pre každého predplatiteľa vyberte cieľovú databázu alebo vytvorte novú databázu. Poznámka: Databáza predplatného sa musí líšiť od databázy vydavateľa, aj keď sa používa rovnaká SQL Server inštancie.
  6. na Zabezpečenie distribučného agenta kliknite na tlačidlo vlastností pre každé predplatné a nakonfigurujte kontext zabezpečenia.
  7. na Plán synchronizácie vyberte možnosť Priebežná synchronizácia alebo Plánovaná synchronizácia.
  8. na Inicializovať odbery stránky, vyberte Okamžite inicializovať počas dokončovania sprievodcu alebo Pri prvej synchronizácii.
  9. Skontrolujte akcie sprievodcu a kliknite na úprava.
    Vytvoriť nové predplatné v SQL Server Replikácia pomocou Sprievodcu novým predplatným.

5. Monitorovanie a riadenie SQL Server replikácie

5.1 Monitorovanie replikácie pomocou monitora replikácie

Spustenie monitora replikácie:

  1. In SQL Server Management Studio, rozbaliť replikácie v Prieskumníkovi objektov.
  2. Kliknite pravým tlačidlom myši replikácie a zvoľte Spustiť monitor replikácie.
  3. Ak nie sú zaregistrovaní žiadni vydavatelia, kliknite na Pridať vydavateľa v ľavej časti okna.
  4. Vybrať pridať SQL Server vydavateľ a pripojte sa k serveru vydavateľa.
  5. Vydavateľ sa zobrazí v ľavom paneli s rozbaľovacími uzlami pre publikácie a predplatné.

Na monitorovanie použite Monitor replikácie SQL Server Replikácia.

5.2 Monitorovanie výkonnosti

5.2.1 Latencia monitora

Latencia replikácie je časové oneskorenie medzi zmenou, ku ktorej dôjde u vydavateľa, a jej aplikáciou u odberateľa. Monitorujte latenciu, aby ste zabezpečili, že aktuálnosť údajov spĺňa obchodné požiadavky.

Na zobrazenie metrík latencie na karte Všetky predplatné použite Monitor replikácie. Stĺpec Latencia zobrazuje priemernú latenciu v sekundách. Pre transakčnú replikáciu poskytujú sledovacie tokeny presné merania latencie vkladaním markerových transakcií, ktoré sú sledované prostredníctvom replikačného kanála.

Použitie sledovacích tokenov:

  1. V časti Monitor replikácie vyberte transakčnú publikáciu.
  2. Kliknite na tlačidlo Tracer Tokeny tab.
  3. kliknite Vložiť sledovač vložiť markerovú transakciu.
  4. Monitorujte token počas jeho cesty od vydavateľa k distribútorovi a predplatiteľovi.
  5. Pozrite si čas potrebný na každý segment, aby ste identifikovali úzke miesta.

Vložte sledovací token pre presnejšie merania latencie SQL Server replikácie

5.2.2 Priepustnosť monitora

Priepustnosť meria objem dát replikovaných v priebehu času, zvyčajne vyjadrený ako transakcie za sekundu alebo príkazy za sekundu. Monitorujte priepustnosť, aby ste zabezpečili, že replikácia dokáže držať krok s aktivitou vydavateľa.

Hoci Monitor replikácie poskytuje základný stav synchronizácie, miera doručenia a podrobné metriky priepustnosti nie sú v grafickom rozhraní viditeľné. Na monitorovanie priepustnosti použite dotazy T-SQL pre distribučnú databázu:

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 = Start, 2 = Prebieha, 3 = Úspešné, 4 = Nečinné, 5 = Opakovaný pokus, 6 = Neúspešné. Porovnajte mieru doručenia s mierou transakcií vydavateľa, aby ste identifikovali situácie, v ktorých replikácia zaostáva. Počítadlá výkonu v Monitor výkonu systému Windows poskytnúť ďalšie metriky priepustnosti pre každého replikačného agenta.

5.2.3 Identifikácia úzkych miest

Úzke miesta replikácie sa môžu vyskytnúť na viacerých miestach topológie. Na strane vydavateľa môže nadmerný čas generovania snímok alebo oneskorenia agenta čítačky protokolov naznačovať obmedzenia zdrojov. Počas replikačných aktivít monitorujte CPU, pamäť a vstupno-výstupné operácie disku na strane vydavateľa.

U distribútora skontrolujte, či sa v distribučnej databáze hromadia transakcie. Veľký počet nedistribuovaných príkazov naznačuje, že distribútor nedokáže držať krok s doručovaním. Monitorujte zdroje servera distribútora a v prípade scenárov s vysokým objemom zásielok zvážte použitie vyhradeného vzdialeného distribútora.

Skontrolujte nedistribuované príkazy a nájdite úzke miesta vo výkone SQL Server replikácie

U predplatiteľa môže byť pomalé uplatňovanie zmien spôsobené nedostatočným množstvom zdrojov, chýbajúcimi indexmi alebo obmedzeniami, ktoré spomaľujú operácie vkladania. Monitorujte využitie zdrojov predplatiteľa a výkon dotazov, keď je spustený distribučný agent. Obmedzenia šírky pásma siete medzi komponentmi tiež spôsobujú úzke miesta, najmä pri veľkých objemoch údajov.

5.3 Správa replikačných agentov

S 5.3.1tart a zastavte agentov

K staralebo zastaviť replikačného agenta:

  1. In SQL Server Management Studio, rozbaliť SQL Server Činidlo -> jobs.
  2. Vyhľadajte úlohu replikačného agenta (názvy zvyčajne zahŕňajú informácie o publikácii a predplatiteľovi).
  3. Kliknite pravým tlačidlom myši na úlohu a vyberte Start Job or Zastaviť úlohu.

Staralebo zastaviť replikačného agenta v SQL Server replikácie

5.3.2 Konfigurácia profilov agentov

Profily agentov obsahujú sady parametrov, ktoré riadia správanie agentov. SQL Server poskytuje predvolené profily optimalizované pre bežné scenáre a môžete si vytvoriť vlastné profily pre špecifické potreby.

Úprava profilov agentov:

  1. V Prieskumníkovi objektov rozbaľte replikácie.
  2. Kliknite pravým tlačidlom myši replikácie a zvoľte Vlastnosti distribútora.
  3. Kliknite na tlačidlo Predvolené nastavenia profilu tlačidlo.
  4. Z rozbaľovacej ponuky vyberte typ agenta (Snímka, Čítačka protokolov, Distribúcia alebo Zlúčenie).
  5. Vyberte profil a kliknite vlastnosti zobraziť hodnoty parametrov.
  6. kliknite Nový profil vytvoriť si vlastný profil na základe existujúceho profilu.
  7. Podľa potreby upravte parametre a kliknite OK.

Konfigurácia profilu agenta

Profil aplikujete na agenta úpravou vlastností predplatného a výberom požadovaného profilu z rozbaľovacej ponuky Profil agenta.

5.3.3 Parametre a nastavenia agenta

Parametre agenta dolaďujú výkon a správanie. Medzi kľúčové parametre distribučného agenta patrí CommitBatchSize (počet transakcií použitých na potvrdenie), CommitBatchThreshold (počet príkazov pred potvrdením), SubscriptionStreams (paralelné pripojenia pre rýchlejšie doručenie) a QueryTimeout (časový limit pre príkazy).

Pre agenta čítačky protokolov patria medzi dôležité parametre ReadBatchSize (počet transakcií prečítaných počas skenovania), ReadBatchThreshold (príkazy pred doručením) a PollingInterval (oneskorenie medzi skenovaniami protokolov). Tieto parametre upravte na základe objemu transakcií a požiadaviek na latenciu.

Konfigurácia vlastností agenta

5.4 Úvahy o zálohovaní a obnovovaní

Zálohovanie databáz zapojených do replikácie si vyžaduje špeciálne opatrenia. Pre databázu vydavateľa sú nevyhnutné pravidelné úplné zálohy a zálohy transakčných protokolov. Pri zálohovaní databáz v transakčnej replikácii označte zálohu databázy pre podporu replikácie pomocou možnosti WITH REPLICATION. Distribučnú databázu pravidelne zálohujte, aby ste chránili konfiguráciu replikácie.

Pri obnove databázy vydavateľa na rovnaký server s rovnakým názvom použite možnosť WITH KEEP_REPLICATION na zachovanie stavu replikácie. Táto možnosť zabezpečí, že transakcie, ktoré ešte neboli spracované agentom čítačky protokolov, zostanú označené na replikáciu, čo umožní automatické pokračovanie replikácie bez opätovnej inicializácie odberov.

V scenároch obnovy po havárii, kde zálohy nie sú k dispozícii, sú poškodené alebo sú poškodené súbory databázy, môžu byť potrebné špecializované nástroje na obnovu. DataNumen SQL Recovery dokáže extrahovať dáta z poškodených alebo neprístupných súborov MDF a NDF, čo predstavuje poslednú možnosť, keď štandardné postupy obnovy zlyhajú.

Pre viac informácií o SQL Server zálohovanie, pozrite si naše komplexný sprievodca.

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

Otázka: Aký je rozdiel medzi snapshotovou a transakčnou replikáciou?

A: Replikácia snímok vytvorí úplnú kópiu údajov v konkrétnom časovom bode a použije ju na predplatiteľa, čo je vhodné pre zriedkavo sa meniace údaje. Transakčná replikáciatarts s počiatočnou snímkou ​​a potom priebežne replikuje jednotlivé transakcie hneď, ako k nim dôjde, čím poskytuje synchronizáciu takmer v reálnom čase pre často sa meniace údaje.

Otázka: Môžem replikovať medzi rôznymi SQL Server verzie?

A: Áno, SQL Server Replikácia podporuje kompatibilitu verzií v obmedzenom rozsahu. Verzia distribútora musí byť rovnaká alebo vyššia ako verzia vydavateľa a predplatiteľ môže byť v rozmedzí dvoch verzií vydavateľa. Napríklad, ak je vydavateľ SQL Server 2016, predplatiteľ môže byť SQL Server 2012, 2014, 2016, 2017 alebo 2019.

Otázka: Ako mám riešiť konflikty pri zlúčení replikácie?

A: Zlúčená replikácia poskytuje vstavané mechanizmy na detekciu a riešenie konfliktov. Riešiteľe konfliktov môžete konfigurovať na úrovni článku, pričom si môžete vybrať z vstavaných riešiteľov alebo implementovať vlastné riešiče konfliktov. Konflikty sa zvyčajne riešia pomocou metód založených na priorite alebo časových pečiatkach s možnosťou zaznamenávania konfliktov na manuálnu kontrolu.

Otázka: Aký je vplyv replikácie na výkon?

A: Replikácia ovplyvňuje výkon niekoľkými spôsobmi: vydavateľ zažíva réžiu zo sledovania zmien a generovania snímok, distribútor využíva zdroje na ukladanie a preposielanie transakcií a počas prenosu údajov sa spotrebúva šírka pásma siete. Dopad sa líši v závislosti od typu replikácie, pričom replikácia snímok spôsobuje periodické vysokonáročné záťaže a transakčná replikácia udržiava konzistentnejšie, ale nepretržité zaťaženie.

Otázka: Ako zabezpečím svoju replikačnú topológiu?

A: Zabezpečte svoju replikačnú topológiu implementáciou niekoľkých osvedčených postupov: použite overovanie systému Windows alebo silné SQL Server overovanie, šifrovanie pripojení pomocou TLS, zabezpečenie priečinka so snímkami pomocou vhodných NTFS povolenia, nakonfigurujte zoznam PAL (Public Access List) na riadenie prístupu, používajte samostatné servisné účty s minimálnymi požadovanými povoleniami pre každého replikačného agenta a pravidelne auditujte nastavenia zabezpečenia replikácie.

Otázka: Môžem replikovať do databázy Azure SQL?

A: Áno, môžete replikovať do databázy Azure SQL pomocou transakčnej replikácie s lokálnym prostredím. SQL Server alebo spravovanú inštanciu Azure SQL ako vydavateľ a distribútor. Databáza Azure SQL môže slúžiť ako predplatiteľ, ale nie ako vydavateľ alebo distribútor. Zlúčená replikácia a replikácia peer-to-peer nie sú podporované databázou Azure SQL.

Otázka: Ako monitorujem oneskorenie replikácie?

A: Monitorujte oneskorenie replikácie pomocou Monitora replikácie v SQL Server Management Studio, ktoré zobrazuje metriky latencie pre každé predplatné. Môžete tiež dotazovať tabuľky distribučnej databázy, ako napríklad MSdistribution_history a MSrepl_commands, používať počítadlá výkonu špecifické pre replikačných agentov alebo nastaviť upozornenia na základe prahových hodnôt latencie na proaktívnu detekciu a riešenie oneskorení synchronizácie.

Otázka: Čo sa stane, keď je predplatiteľ offline?

A: Keď je predplatiteľ offline, správanie závisí od typu replikácie. Pri transakčnej replikácii sa transakcie hromadia v distribučnej databáze, kým sa predplatiteľ nevráti do režimu online, potom sa synchronizácia obnoví. Pri zlúčenej replikácii sa zmeny sledujú na oboch stranách a zlúčia sa po obnovení pripojenia. Nastavenie doby uchovávania určuje, ako dlho sa údaje uchovávajú predtým, ako je potrebné ich reinicializovať.

Otázka: Ako pridám nové články do existujúcej publikácie?

A: Ak chcete pridať nové články do existujúcej publikácie, použite SQL Server V aplikácii Management Studio upravte vlastnosti publikácie a vyberte ďalšie objekty alebo použite uloženú procedúru sp_addarticle. Po pridaní článkov vygenerujte novú snímku a znova inicializujte všetky odbery, aby ste zabezpečili, že odberatelia dostanú nové články. Niektoré zmeny môžu vyžadovať opätovnú inicializáciu odberov v závislosti od nastavení publikácie.

Otázka: Ako odstránim replikáciu z databázy?

A: Replikáciu z databázy odstránite tak, že najprv odstránite všetky odbery pomocou sp_dropsubscription, potom odstránite publikáciu pomocou sp_droppublication a nakoniec zakážete publikovanie v databáze pomocou sp_replicationdboption. Ak je server distribútor, zakážte distribúciu pomocou sp_dropdistributor. Pred odstránením konfigurácie replikácie vždy zálohujte databázy.

Otázka: Aký je rozdiel medzi SQL Server Replikácia a skupiny dostupnosti AlwaysOn?

A: Replikácia je riešenie distribúcie a integrácie údajov, ktoré funguje na úrovni objektov, zatiaľ čo Skupiny dostupnosti vždy zapnuté je riešenie pre vysokú dostupnosť a obnovu po havárii, ktoré funguje na úrovni databázy.

7. Záver

SQL Server Replikácia poskytuje robustný rámec pre distribúciu a synchronizáciu údajov medzi viacerými databázami a lokalitami. Technológia podporuje rôzne scenáre prostredníctvom rôznych typov replikácie.

Výber správnej stratégie replikácie závisí od vašich špecifických požiadaviek. Zvážte frekvenciu zmien údajov, požiadavky na latenciu, či predplatitelia potrebujú vykonávať aktualizácie, charakteristiky siete a potreby predplatiteľov na autonómiu. Replikácia snímok funguje najlepšie pre zriedkavo sa meniace referenčné údaje, kde latencia nie je kritická. Transakčná replikácia je vhodná pre scenáre s vysokým objemom údajov, ktoré vyžadujú nízku latenciu a primárne jednosmerný tok údajov.

Zvoľte zlúčenú replikáciu, keď odberatelia potrebujú autonómnu prevádzku s offline možnosťami a obojsmernou synchronizáciou. Implementujte replikáciu typu peer-to-peer pre vyrovnávanie záťaže pri operáciách čítania medzi viacerými aktívnymi uzlami s konzistenciou takmer v reálnom čase. Zvážte hybridné prístupy kombinujúce viacero typov replikácie pre zložité scenáre s rôznymi požiadavkami.

Referencie


O autorovi

Yuan Sheng je seniorný správca databáz (DBA) s viac ako 10-ročnými skúsenosťami v SQL Server prostredia a správa podnikových databáz. Úspešne vyriešil stovky scenárov obnovy databáz vo finančných službách, zdravotníctve a výrobných organizáciách.

Yuan sa špecializuje na SQL Server obnova databáz, riešenia vysokej dostupnosti a optimalizácia výkonu. Jeho rozsiahle praktické skúsenosti zahŕňajú správu databáz s veľkosťou viac terabajtov, implementáciu skupín dostupnosti Always On a vývoj automatizovaných stratégií zálohovania a obnovy pre kritické obchodné systémy.

Vďaka svojim technickým znalostiam a praktickému prístupu sa Yuan zameriava na vytváranie komplexných príručiek, ktoré pomáhajú správcom databáz a IT profesionálom riešiť zložité SQL Server efektívne zvláda výzvy. Udržiava si prehľad o najnovších SQL Server vydania a vyvíjajúce sa databázové technológie spoločnosti Microsoft, pričom pravidelne testuje scenáre obnovy, aby sa zabezpečilo, že jeho odporúčania odrážajú osvedčené postupy z reálneho sveta.

Máte otázky o SQL Server obnovenie alebo potrebujete ďalšie pokyny na riešenie problémov s databázou? Yuan víta spätnú väzbu a návrhy na zlepšenie týchto technických zdrojov.

Zdieľať teraz: