Podijeli sada:

1. Uvod u SQL Server odgovor

1.1 Što je SQL Server Replikacija?

SQL Server Replikacija je skup tehnologija za kopiranje i distribuciju podataka i objekata baze podataka iz jedne baze podataka u drugu, a zatim sinkronizaciju između baza podataka radi održavanja dosljednosti. Ova značajka omogućuje vam stvaranje i održavanje više kopija vaših podataka na različitim poslužiteljima i lokacijama, osiguravajući dostupnost i pouzdanost podataka.

1.2 Svrha i prednosti replikacije

SQL Server Replikacija služi višestrukim kritičnim poslovnim potrebama i pruža značajne prednosti za upravljanje bazama podataka i distribuciju podataka:

  • Distribucija podataka po lokacijama: Replikacija vam omogućuje dijeljenje podataka između regionalnih ureda ili globalnih lokacija, poboljšavajući operativnu učinkovitost osiguravanjem lokalnog pristupa potrebnim podacima. To smanjuje latenciju mreže i pruža bolje performanse za geografski raspršene korisnike.
  • Visoka dostupnost i oporavak od katastrofe: Održavanjem replika kritičnih podataka na više poslužitelja, replikacija pruža redundanciju koja štiti od kvarova hardvera i katastrofa. U slučaju kvara primarnog poslužitelja, replicirane kopije mogu poslužiti kao rezervni izvori, smanjujući vrijeme zastoja i gubitak podataka.
  • Balansiranje opterećenja i skalabilnost: Replikacija raspoređuje operacije čitanja na više poslužitelja, sprječavajući da bilo koji pojedinačni poslužitelj postane usko grlo. Ovaj pristup poboljšava performanse sustava i omogućuje horizontalno skaliranje vaše infrastrukture kako rastu podaci i zahtjevi korisnika.
  • Izvješćivanje i analitika u stvarnom vremenu: Prebacivanje upita za izvještavanje i analitiku na replicirane poslužitelje smanjuje opterećenje produkcijskih baza podataka. Korisnici mogu pokretati složene analitičke upite na podacima gotovo u stvarnom vremenu bez utjecaja na operativne sustave, osiguravajući i performanse i ažurnost podataka.
  • Integracija i konsolidacija podataka: Replikacija olakšava spajanje podataka iz različitih izvora u jedan konsolidirani prikaz. To je posebno vrijedno za organizacije s više podružnica koje trebaju agregirati podatke u sjedištu ili za stvaranje centraliziranih skladišta podataka iz distribuiranih operativnih sustava.

2. SQL Server Arhitektura i komponente replikacije

SQL Server Arhitektura replikacije sastoji se od nekoliko međusobno povezanih komponenti koje zajedno rade na distribuciji i sinkronizaciji podataka u vašoj infrastrukturi baze podataka. Ovaj odjeljak istražuje ključne komponente, uključujući izdavače, distributere, pretplatnike, publikacije, članke, pretplate i agente koji koordiniraju protok podataka između njih:

  • Nakladnik: Izdavač je SQL Server instanca koja hostira jednu ili više baza podataka koje sadrže podatke koji se repliciraju. Služi kao autoritativni izvor u topologiji replikacije.
  • Distributer: Distributer je SQL Server instanca koja upravlja tokom podataka između izdavača i pretplatnika. Instanca distributera hostira distribucijsku bazu podataka koja pohranjuje metapodatke replikacije i transakcije.
  • Pretplatnik: Pretplatnik je SQL Server instanca koja prima i pohranjuje replicirane podatke od izdavača. Jedna instanca pretplatnika može hostirati više baza podataka pretplatnika, a svaka prima podatke iz različitih publikacija.
  • Objavljivanje: Publikacija definira koji će se podaci replicirati i kako će se distribuirati pretplatnicima. Grupira povezane članke i utvrđuje metodologiju replikacije koja se primjenjuje na sve sadržane objekte.
  • Članak: Članak je temeljni gradivni blok replikacije, koji predstavlja pojedinačni objekt baze podataka koji će se distribuirati pretplatnicima.
  • Pretplata: Pretplata uspostavlja odnos između publikacije i pretplatnika, definirajući kako i kada se podaci dostavljaju u odredišnu bazu podataka.
  • agenti: Agenti su specijalizirani procesi koji obavljaju stvarni posao premještanja i sinkronizacije podataka između komponenti replikacije.

SQL Server Arhitektura i komponente replikacije

3. Vrste SQL Server odgovor

SQL Server nudi nekoliko vrsta replikacije, svaka dizajnirana za specifične scenarije distribucije podataka i poslovne zahtjeve. Razumijevanje karakteristika, prednosti i ograničenja svake vrste ključno je za odabir pravog pristupa za vaše okruženje.

3.1 Replikacija snimke

Replikacija snimke snima podatke koji će se objaviti u određeno vrijeme, a zatim distribuira točnu potpunu kopiju pretplatnicima. Ne prati naknadne promjene dok se ne generira sljedeća snimka. Replikacija snimke najjednostavniji je oblik replikacije, što je čini prikladnom za scenarije u kojima se podaci rijetko mijenjaju ili gdje je prihvatljivo imati malo zastarjele podatke.

Uobičajeni slučajevi upotrebe uključuju distribuciju referentnih podataka poput cjenika ili tečajeva koji se periodički ažuriraju, pružanje početnih skupova podataka za skladišta podataka i scenarije u kojima je potpuno osvježavanje podataka poželjnije od praćenja pojedinačnih promjena. Na primjer, tvrtka može koristiti replikaciju snimki za distribuciju ažuriranih kataloga proizvoda podružnicama jednom dnevno.

Glavne prednosti replikacije snimki podataka su jednostavnost, niski zahtjevi za održavanje i mogućnost replikacije podataka bez primarnih ključeva. Međutim, ima značajne nedostatke, uključujući veliki utjecaj prilikom generiranja snimaka zbog zaključavanja tablica, veliku latenciju između ažuriranja i neučinkovitost za velike skupove podataka ili često promjenjive podatke. Sve izmjene napravljene na pretplatnicima gube se kada se primijeni sljedeći snimak.

3.2 Transakcijska replikacija

Transakcijska replikacija dostavlja promjene od izdavača pretplatnicima gotovo u stvarnom vremenu replicirajući pojedinačne transakcije čim se dogode. Počinje s početnom snimkom kako bi se utvrdila osnovna linija, zatim kontinuirano prati dnevnik transakcija za promjene objavljenih članaka i postupno ih dostavlja pretplatnicima.

Transakcijska replikacija idealna je za scenarije od poslužitelja do poslužitelja koji zahtijevaju visoku propusnost i nisku latenciju. Uobičajeni slučajevi upotrebe uključuju poboljšanje skalabilnosti i dostupnosti preusmjeravanjem operacija čitanja na pretplatničke poslužitelje, podršku skladištenju podataka i izvještavanju s podacima gotovo u stvarnom vremenu, integraciju podataka s više lokacija na središnju lokaciju i preusmjeravanje skupne obrade na namjenske poslužitelje. Na primjer, platforma za e-trgovinu može koristiti transakcijsku replikaciju za održavanje sinkroniziranih podataka o zalihama u regionalnim bazama podataka.

Prednosti transakcijske replikacije uključuju isporuku podataka s niskom latencijom, visoku propusnost za velike količine transakcija i mogućnost izrade nerepliciranih izmjena kod pretplatnika. Nedostaci uključuju veću složenost u usporedbi s replikacijom snimki, zahtjev za primarnim ključevima na repliciranim tablicama i mogućnost prekida replikacije ako dođe do sukoba, poput kršenja primarnih ključeva kod pretplatnika.

3.3 Replikacija spajanjem

Replikacija spajanjem posebno je dizajnirana za okruženja u kojima pretplatnici trebaju raditi izvan mreže ili s povremenom vezom, a zatim sinkronizirati promjene kada je veza dostupna. Ova vrsta replikacije omogućuje neovisnu promjenu podataka i kod izdavača i kod pretplatnika, praćenje promjena pomoću okidača i tablica metapodataka te automatsko spajanje modifikacija tijekom sinkronizacije.

Replikacija spajanjem dizajnirana je za mobilne aplikacije i distribuirana poslužiteljska okruženja gdje se događaju autonomne promjene. Primjeri upotrebe uključuju automatizaciju prodajne snage gdje mobilni korisnici rade izvan mreže i sinkroniziraju se kasnije, POS sustave koji rade neovisno i periodično konsolidiraju podatke te distribuirane aplikacije gdje više lokacija treba ažurirati dijeljene podatke. Na primjer, maloprodajni lanac može koristiti replikaciju spajanjem kako bi svaka trgovina mogla upravljati lokalnim zalihama dok se sinkronizira s centralnim skladišnim sustavom.

Prednosti replikacije spajanjem uključuju podršku za autonomne pretplatnike koji mogu unositi promjene, toleranciju na povremenu mrežnu povezivost i fleksibilno rješavanje sukoba. Nedostaci uključuju veću složenost postavljanja i održavanja, opterećenje performansi zbog praćenja metapodataka i okidača, dodavanje stupaca jedinstvenog identifikatora u tablice i potencijal za sukobe koji zahtijevaju upravljanje i rješavanje.

3.4 Replikacija od ravnopravne mreže

Peer-to-peer replikacija izgrađena je na transakcijskoj replikaciji i omogućuje višestrukim instancama poslužitelja (tri ili više čvorova) da djeluju kao ravnopravni vršnjaci, pri čemu svaki čvor istovremeno služi i kao izdavač i kao pretplatnik. U ovoj topologiji svi čvorovi održavaju identične kopije podataka i mogu obrađivati ​​operacije čitanja i pisanja, pružajući istinski distribuirano okruženje s više glavnih uređaja.

Peer-to-peer replikacija prikladna je za aplikacije koje zahtijevaju skaliranje operacija čitanja i visoku dostupnost. Primjeri upotrebe uključuju web aplikacije koje distribuiraju upite kataloga na više čvorova uz održavanje konzistentnosti podataka, scenarije koji zahtijevaju održavanje ili nadogradnje bez zastoja pojedinačnim isključivanjem čvorova i globalne aplikacije s podatkovnim centrima u različitim regijama. Na primjer, globalna organizacija za softversku podršku mogla bi koristiti peer-to-peer replikaciju u uredima u različitim vremenskim zonama tako da svaka lokacija ima lokalni pristup trenutnim podacima.

Prednosti replikacije između ravnopravnih sustava uključuju poboljšane performanse čitanja putem skaliranja, veću dostupnost s više aktivnih čvorova i konzistentnost podataka gotovo u stvarnom vremenu. Nedostaci uključuju zahtjev za Enterprise Editionom, složenost upravljanja topologijama s više čvorova, potrebu za identičnom shemom i podacima na svim čvorovima te mogućnost sukoba kada operacije pisanja nisu pravilno particionirane.

3.5 Dvosmjerna replikacija

Dvosmjerna replikacija je specifična topologija transakcijske replikacije dizajnirana posebno za okruženja s dva poslužitelja gdje oba poslužitelja trebaju međusobno razmjenjivati ​​promjene. Svaki poslužitelj objavljuje podatke i pretplaćuje se na iste podatke s drugog poslužitelja, stvarajući jednostavan dvosmjerni tok sinkronizacije. Iako replikacija od ravnopravnih korisnika može podržati i dva čvora, dvosmjerna replikacija pruža poboljšane performanse za ovaj specifični scenarij.

Dvosmjerna replikacija prikladna je za scenarije koji zahtijevaju dva aktivna poslužitelja sa sinkroniziranim podacima, kao što su konfiguracije aktivno-aktivno za visoku dostupnost ili geografski distribuirane aplikacije gdje svaka lokacija treba lokalni pristup pisanju. Topologija zahtijeva pažljiv dizajn aplikacije za particioniranje ažuriranja podataka i sprječavanje sukoba.

Prednosti uključuju optimizirane performanse za scenarije s dva poslužitelja, jednostavniju konfiguraciju u usporedbi s replikacijom između računala, sinkronizaciju gotovo u stvarnom vremenu i niže opterećenje od replikacije spajanjem. Nedostaci uključuju ograničenje na točno dva poslužitelja, nedostatak ugrađenog rješavanja sukoba koji zahtijeva pažljiv dizajn aplikacije i potrebu za odgovarajućim strategijama particioniranja kako bi se spriječili sukobi.

3.6 Pretplate koje se mogu ažurirati

Ažurljive pretplate proširuju transakcijsku replikaciju kako bi pretplatnicima omogućile povremene promjene repliciranih podataka koje se zatim šire natrag do izdavača i drugih pretplatnika. Za razliku od replikacije spajanjem ili peer-to-peer topologija dizajniranih za česta dvosmjerna ažuriranja, ažurirane pretplate namijenjene su scenarijima u kojima je primarni tok podataka jednosmjeran (od izdavača do pretplatnika), ali pretplatnici povremeno trebaju izvršiti ispravke ili ažuriranja.

Ažurljive pretplate prikladne su za scenarije u kojima se većina ažuriranja događa kod izdavača, ali su povremena ažuriranja potrebna kod pretplatnika, kao što su terenski uredi koji prvenstveno čitaju podatke, ali trebaju napraviti lokalne ispravke ili ažuriranja. Topologija zahtijeva pažljivo planiranje kako bi se smanjili sukobi i osigurala dosljednost podataka.

Glavne prednosti uključuju omogućavanje ograničenih operacija pisanja na pretplatnicima uz održavanje karakteristika performansi transakcijske replikacije. Nedostaci uključuju povećanu složenost, potencijal za sukobe koji zahtijevaju rješavanje, opterećenje performansi zbog dvofaznog protokola potvrđivanja u načinu rada s trenutnim ažuriranjem i zahtjev da sve replicirane tablice imaju primarne ključeve.

3.7 Usporedba različitih vrsta replikacija

Vrsta replikacije Vrijeme ažuriranja Broj izdavača Smjer Koristite scenarije
Snimak Točka u vremenu 1 One direction (Izdavač → Pretplatnici) Rijetko mijenjanje referentnih podataka (cjenici, tečajevi)
Transakcijska Gotovo u stvarnom vremenu 1 One direction (Izdavač → Pretplatnici) Scenariji visokog protoka (inventar e-trgovine, skladištenje podataka, izvještavanje)
Spojiti Periodično (kada je spojeno) 1 Dvosmjerno (Izdavač ↔ Pretplatnici) Mobilne aplikacije, offline radnici (automatizacija prodajne snage, terenske usluge)
Peer-to-Peer Gotovo u stvarnom vremenu Višestruki (3 ili više) Dvosmjerno (svi čvorovi) Globalna implementacija u više podatkovnih centara (uredi diljem svijeta s lokalnim pristupom za čitanje i pisanje)
Dvosmjerno Gotovo u stvarnom vremenu 2 Dvosmjerno (oba poslužitelja) Konfiguracije s dva podatkovna centra aktivno-aktivno (visoka dostupnost s dvije lokacije)
Pretplate koje se mogu ažurirati Gotovo u stvarnom vremenu 1 Primarno jedan smjer (povremena ažuriranja unatrag) Podružnice koje prvenstveno čitaju, ali povremeno ažuriraju (lokalne ispravke)

4. Postavljanje SQL Server odgovor

4.1 Preduvjeti i zahtjevi

4.1.1 Softverski zahtjevi

SQL Server replikacija zahtijeva kompatibilnost SQL Server verzije među svim sudionicima u topologiji. Verzija distributera mora biti jednaka ili viša od verzije izdavača, a pretplatnik može biti unutar dvije verzije izdavača. Na primjer, SQL Server Izdavač iz 2016. može replicirati na SQL Server Pretplatnici iz 2012., 2014., 2016., 2017. ili 2019. godine.

4.1.2 Zahtjevi za dopuštenje

Konfiguriranje replikacije zahtijeva određena dopuštenja na svakoj razini. Članovi fiksne uloge poslužitelja sysadmin mogu obavljati sve zadatke konfiguracije replikacije. Za detaljnija dopuštenja, korisnici moraju biti članovi uloge baze podataka db_owner za baze podataka izdavača i pretplatnika.

4.2 Korak 1: Konfiguriranje distribucije

Konfiguriranje distribucije je prvi korak u postavljanju SQL Server replikacija.

Za konfiguriranje distribucije pomoću SQL Server Management Studio:

  1. Spojite se na SQL Server primjer u SQL Server Studio za upravljanje.
  2. U Exploreru objekata kliknite desnom tipkom miša na odgovor mapu i odaberite Konfiguriraj distribuciju.
    Započni konfiguriranje distribucije u SQL Server Replikacija.
  3. U Čarobnjaku za konfiguriranje distribucije kliknite Sljedeći na početnoj stranici.
    Čarobnjak za konfiguriranje distribucije
  4. Na Distributer stranicu odaberite jednu od sljedećih opcija na temelju vaših topoloških zahtjeva:
    • Lokalni distributerOdaberite "Naziv poslužitelja će djelovati kao vlastiti distributer;" SQL Server će stvoriti distribucijsku bazu podataka i zapisnik” ako želite da izdavač i distributer rade na istoj instanci (trenutnoj instanci). Ova konfiguracija je jednostavnija za postavljanje i prikladnija je za manja okruženja ili kada bi latencija mreže između izdavača i distributera uzrokovala probleme.
    • Udaljeni distributerOdaberite "Koristi sljedeći poslužitelj kao distributera" i kliknite dodati da biste naveli udaljeni distributerski poslužitelj ako želite prebaciti obradu distribucije na zasebnu instancu. Ova konfiguracija poboljšava performanse kada su volumeni replikacije veliki raspodjelom opterećenja na više poslužitelja. Morat ćete navesti ime udaljenog distributera i lozinku koju će izdavač koristiti za povezivanje s distributerom.

    Konfigurirajte distributera u SQL Server odgovor

  5. Kliknite Sljedeći za određivanje lokacije mape snimki. Koristite UNC putanju (kao što je \\naziv_poslužitelja\dijeljena_mapa) umjesto lokalne putanje kako biste osigurali dostupnost na mreži.
    Konfigurirajte mapu snimki u čarobnjaku za konfiguriranje distribucije
  6. Na Distribucijska baza podataka stranicu, prihvatite zadani naziv distribucijske baze podataka (obično "distribucija") ili navedite prilagođeni naziv, a zatim konfigurirajte lokacije podataka i datoteka zapisnika.
    Konfigurirajte distribucijsku bazu podataka u SQL Server odgovor
  7. Na Nakladnici stranicu, provjerite je li trenutni poslužitelj omogućen kao izdavač. Ako konfigurirate trenutni poslužitelj kao distributer, možete dodati dodatne izdavače koji će koristiti ovog distributera.
    Konfigurirajte izdavače u SQL Server odgovor
  8. Pregledajte radnje čarobnjaka i kliknite završiti za konfiguriranje distribucije.
    Završite konfiguraciju u SQL Server odgovor

4.3 Korak 2: Izrada publikacije

Nakon konfiguriranja distribucije, sljedeći korak je stvaranje publikacije koja definira koji će se podatkovni objekti replicirati pretplatnicima.

Za izradu publikacije pomoću SQL Server Management Studio:

  1. U Exploreru objekata proširite odgovor mapa.
  2. Desnom tipkom miša Lokalne publikacije i odaberite Nova publikacija.
  3. Pokreće se Čarobnjak za novu publikaciju; kliknite Sljedeći na početnoj stranici.
  4. Odaberite bazu podataka koju želite objaviti iz Baza podataka publikacija stranica. To automatski omogućuje objavljivanje u odabranoj bazi podataka.
  5. Na Vrsta publikacije stranicu odaberite vrstu replikacije: Objavljivanje snimkeTransakcijska publikacija, Publikacija od ravnopravnih osoba, ili Spoji publikaciju.
  6. Na Članci stranicu, proširite Tablice čvor i odaberite tablice koje želite uključiti kao članke.
  7. Opcionalno proširi Pohranjeni postupciPosjetaili druge vrste objekata za uključivanje dodatnih članaka.
  8. Kliknite Svojstva članka za konfiguriranje filtriranja ili drugih postavki specifičnih za članak.
  9. Na Filtriraj retke tablice stranicu, dodajte filtere redaka ako je potrebno.
  10. Na Agent za snimke stranicu odaberite kada želite stvoriti snimku: odmah, u određeno vrijeme ili prema rasporedu.
  11. Na Sigurnost agenta stranicu, navedite sigurnosni kontekst za agenta za snimke.
  12. Na Radnje čarobnjaka stranicu, odaberite Izradi publikaciju.
  13. Unesite naziv publikacije i kliknite završiti.
    Izradi novu publikaciju u SQL Server odgovor

4.4 Korak 3: Izrada pretplate

Nakon stvaranja publikacije, sljedeći korak je stvaranje pretplata koje povezuju publikaciju s bazama podataka pretplatnika.

Pretplate mogu biti push pretplate (upravlja ih distributer) ili pull pretplate (upravlja ih pretplatnik). Ključne razlike su gdje kreirate pretplatu i koju lokaciju agenta odaberete, što određuje radnju pretplate (push ili pull).

Za push pretplatu (upravlja Distributer):

  1. Na izdavač poslužitelj, proširi odgovor -> Lokalne publikacije.
  2. Desnom tipkom miša kliknite publikaciju i odaberite Nove pretplate.

Za pretplatu povlačenjem (upravlja Pretplatnik):

  1. Na pretplatnik poslužitelj, proširi odgovor, desni klik Lokalne pretplate, i odaberite Nove pretplate.
  2. Na Publikacija stranica, kliknite naći SQL Server Publisher i spojite se na poslužitelj izdavača.

Uobičajeni koraci čarobnjaka za obje vrste pretplate:

  1. U Čarobnjaku za novu pretplatu kliknite Sljedeći na početnoj stranici.
  2. Odaberite publikaciju i kliknite Sljedeći.
  3. Na Lokacija distribucijskog agenta stranicu, odaberite lokaciju agenta:
    • Push pretplataOdaberite „Pokreni sve agente kod distributera“ – distributer će proslijediti promjene pretplatnicima.
    • Preuzmi pretplatuOdaberite "Pokreni svakog agenta na njegovom pretplatniku" – svaki će pretplatnik preuzimati promjene od distributera.
  4. Na Pretplatnici stranicu, odaberite postojeće pretplatničke poslužitelje ili kliknite Dodaj Pretplatnika da dodam nove.
  5. Za svakog pretplatnika odaberite odredišnu bazu podataka ili stvorite novu bazu podataka. Bilješka: Baza podataka pretplatnika mora se razlikovati od baze podataka izdavača, čak i ako se koristi ista SQL Server primjer.
  6. Na Sigurnost distribucijskog agenta kliknite gumb svojstava za svaku pretplatu da biste konfigurirali sigurnosni kontekst.
  7. Na Raspored sinkronizacije odaberite kontinuiranu sinkronizaciju ili zakazanu sinkronizaciju.
  8. Na Inicijaliziraj pretplate stranicu, odaberite Odmah inicijalizirati tijekom završetka čarobnjaka ili Pri prvoj sinkronizaciji.
  9. Pregledajte radnje čarobnjaka i kliknite završiti.
    Izradite novu pretplatu u SQL Server Replikacija s čarobnjakom za novu pretplatu.

5. Praćenje i upravljanje SQL Server odgovor

5.1 Praćenje replikacije pomoću Monitora replikacije

Za pokretanje Monitora replikacije:

  1. In SQL Server Management Studio, proširi odgovor u Exploreru objekata.
  2. Desnom tipkom miša odgovor i odaberite Pokreni monitor replikacije.
  3. Ako nijedan izdavač nije registriran, kliknite Dodaj izdavača u lijevom oknu.
  4. Odaberite dodati SQL Server Publisher i spojite se na poslužitelj izdavača.
  5. Izdavač se pojavljuje u lijevom oknu s proširivim čvorovima za publikacije i pretplate.

Koristite Monitor replikacije za praćenje SQL Server Replikacija.

5.2 Praćenje performansi

5.2.1 Latencija monitora

Latencija replikacije je vremensko kašnjenje između promjene koja se dogodi kod izdavača i primjene te promjene kod pretplatnika. Pratite latenciju kako biste osigurali da svježina podataka zadovoljava poslovne zahtjeve.

Pomoću Nadzora replikacije možete pregledati metrike latencije na kartici Sve pretplate. Stupac Latencija prikazuje prosječnu latenciju u sekundama. Za transakcijsku replikaciju, tokeni za praćenje pružaju precizna mjerenja latencije umetanjem marker transakcija koje se prate kroz replikacijski cjevovod.

Za korištenje tokena za praćenje:

  1. U Nadzoru replikacije odaberite transakcijsku publikaciju.
  2. kliknite Žetoni za praćenje Tab.
  3. Kliknite Umetni tragač ubrizgati marker transakciju.
  4. Pratite token dok putuje od izdavača do distributera i pretplatnika.
  5. Pogledajte vrijeme potrebno za svaki segment kako biste identificirali uska grla.

Umetnite token za praćenje kako biste dobili preciznija mjerenja latencije SQL Server odgovor

5.2.2 Propusnost praćenja

Propusnost mjeri količinu podataka repliciranih tijekom vremena, obično izraženu kao transakcije u sekundi ili naredbe u sekundi. Pratite propusnost kako biste osigurali da replikacija može pratiti aktivnosti izdavača.

Iako Monitor replikacije pruža osnovni status sinkronizacije, stopa isporuke i detaljne metrike propusnosti nisu vidljive u GUI-ju. Koristite T-SQL upite prema distribucijskoj bazi podataka za praćenje propusnosti:

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

Statusni kodovi: 1 = Početak, 2 = U tijeku, 3 = Uspjeh, 4 = Mirovanje, 5 = Ponovni pokušaj, 6 = Neuspjeh. Usporedite stopu isporuke s stopama transakcija izdavača kako biste identificirali situacije u kojima replikacija zaostaje. Brojači performansi u Monitor performansi sustava Windows pružiti dodatne metrike propusnosti za svakog agenta replikacije.

5.2.3 Utvrdite uska grla

Uska grla replikacije mogu se pojaviti na više mjesta u topologiji. Na izdavaču, predugo vrijeme generiranja snimki ili kašnjenja agenta čitača dnevnika mogu ukazivati ​​na ograničenja resursa. Pratite CPU, memoriju i I/O na disku na izdavaču tijekom aktivnosti replikacije.

Kod distributera provjerite ima li akumuliranih transakcija u distribucijskoj bazi podataka. Veliki broj nedistribuiranih naredbi ukazuje na to da distributer ne može pratiti isporuku. Pratite resurse poslužitelja distributera i razmislite o korištenju namjenskog udaljenog distributera za scenarije velikog obujma.

Provjerite neraspodijeljene naredbe kako biste pronašli uska grla performansi u SQL Server odgovor

Kod pretplatnika, spora primjena promjena može biti posljedica nedovoljnih resursa, nedostajućih indeksa ili ograničenja koja usporavaju operacije umetanja. Pratite iskorištenost resursa pretplatnika i performanse upita kada je pokrenut Agent za distribuciju. Ograničenja propusnosti mreže između komponenti također uzrokuju uska grla, posebno za velike količine podataka.

5.3 Upravljanje replikacijskim agentima

5.3.1 Pokretanje i zaustavljanje agenata

Za pokretanje ili zaustavljanje agenta za replikaciju:

  1. In SQL Server Management Studio, proširi SQL Server Agent -> Posao.
  2. Pronađite posao agenta za replikaciju (imena obično uključuju podatke o publikaciji i pretplatniku).
  3. Desnom tipkom miša kliknite posao i odaberite Pokreni posao or Zaustavi posao.

Pokretanje ili zaustavljanje agenta za replikaciju u SQL Server odgovor

5.3.2 Konfiguriranje profila agenata

Profili agenata sadrže skupove parametara koji kontroliraju ponašanje agenata. SQL Server pruža zadane profile optimizirane za uobičajene scenarije, a možete stvoriti i prilagođene profile za specifične potrebe.

Za izmjenu profila agenata:

  1. U Exploreru objekata proširite odgovor.
  2. Desnom tipkom miša odgovor i odaberite Svojstva distributera.
  3. kliknite Zadane postavke profila tipku.
  4. Odaberite vrstu agenta (Snimka, Čitač zapisnika, Distribucija ili Spajanje) s padajućeg izbornika.
  5. Odaberite profil i kliknite Nekretnine za pregled vrijednosti parametara.
  6. Kliknite Novi profil za izradu prilagođenog profila na temelju postojećeg.
  7. Izmijenite parametre prema potrebi i kliknite OK.

Konfigurirajte profil agenta

Primijenite profil na agenta uređivanjem svojstava pretplate i odabirom željenog profila s padajućeg izbornika Profil agenta.

5.3.3 Parametri i postavke agenta

Parametri agenta fino podešavaju performanse i ponašanje. Ključni parametri za distribucijskog agenta uključuju CommitBatchSize (broj transakcija primijenjenih po commitu), CommitBatchThreshold (broj naredbi prije commita), SubscriptionStreams (paralelne veze za bržu isporuku) i QueryTimeout (vremensko ograničenje za naredbe).

Za agenta za čitanje dnevnika, važni parametri uključuju ReadBatchSize (broj transakcija pročitanih po skeniranju), ReadBatchThreshold (naredbe prije isporuke) i PollingInterval (kašnjenje između skeniranja dnevnika). Prilagodite ove parametre na temelju zahtjeva za volumen transakcija i latencijom.

Konfigurirajte svojstva agenta

5.4 Razmatranja o sigurnosnoj kopiji i vraćanju

Izrada sigurnosnih kopija baza podataka uključenih u replikaciju zahtijeva posebna razmatranja. Za bazu podataka izdavača, redovite potpune sigurnosne kopije i sigurnosne kopije dnevnika transakcija su ključne. Označite sigurnosnu kopiju baze podataka za podršku replikacije korištenjem opcije WITH REPLICATION prilikom izrade sigurnosnih kopija baza podataka u transakcijskoj replikaciji. Redovito izrađujte sigurnosnu kopiju distribucijske baze podataka kako biste zaštitili konfiguraciju replikacije.

Prilikom vraćanja baze podataka izdavača na isti poslužitelj s istim nazivom, upotrijebite opciju WITH KEEP_REPLICATION za očuvanje stanja replikacije. Ova opcija osigurava da transakcije koje još nije obradio agent za čitanje dnevnika ostanu označene za replikaciju, omogućujući automatski nastavak replikacije bez ponovne inicijalizacije pretplata.

U scenarijima oporavka od katastrofe gdje sigurnosne kopije nisu dostupne, oštećene su ili su datoteke baze podataka oštećene, mogu biti potrebni specijalizirani alati za oporavak. DataNumen SQL Recovery može izdvojiti podatke iz oštećenih ili nedostupnih MDF i NDF datoteka, pružajući krajnju opciju kada standardni postupci vraćanja ne uspiju.

Za više detalja o SQL Server sigurnosna kopija, pogledajte našu sveobuhvatan vodič.

6. Često postavljana pitanja (FAQ)

P: Koja je razlika između snimke stanja i transakcijske replikacije?

A: Replikacija snimke podataka uzima potpunu kopiju podataka u određenom trenutku i primjenjuje je na pretplatnika, što je prikladno za podatke koji se rijetko mijenjaju. Transakcijska replikacija započinje s početnom snimkom podataka, a zatim kontinuirano replicira pojedinačne transakcije kako se događaju, pružajući sinkronizaciju gotovo u stvarnom vremenu za često promjenjive podatke.

P: Mogu li replicirati između različitih SQL Server verzije?

O: Da, SQL Server Replikacija podržava kompatibilnost verzija unutar ograničenog raspona. Verzija distributera mora biti jednaka ili viša od verzije izdavača, a pretplatnik može biti unutar dvije verzije izdavača. Na primjer, ako je izdavač SQL Server 2016. godine, pretplatnik može biti SQL Server 2012., 2014., 2016., 2017. ili 2019. godine.

P: Kako rješavam konflikte u replikaciji spajanjem?

A: Replikacija spajanjem pruža ugrađene mehanizme za otkrivanje i rješavanje sukoba. Razrješavače sukoba možete konfigurirati na razini članka, odabirom između ugrađenih razrješavača ili implementacijom prilagođenih razrješavača sukoba. Sukobi se obično rješavaju metodama temeljenima na prioritetu ili vremenskim oznakama, s mogućnošću zapisivanja sukoba za ručni pregled.

P: Kakav je utjecaj replikacije na performanse?

A: Replikacija utječe na performanse na nekoliko načina: izdavač ima opterećenje zbog praćenja promjena i generiranja snimaka, distributer koristi resurse za pohranu i prosljeđivanje transakcija, a mrežna propusnost se troši tijekom prijenosa podataka. Utjecaj varira ovisno o vrsti replikacije, pri čemu replikacija snimaka uzrokuje periodične nalete visokog utjecaja, a transakcijska replikacija održava konzistentnije, ali kontinuirano opterećenje.

P: Kako mogu osigurati svoju topologiju replikacije?

A: Osigurajte svoju topologiju replikacije primjenom nekoliko najboljih praksi: koristite Windows autentifikaciju ili snažnu SQL Server autentifikaciju, šifriranje veza pomoću TLS-a, osiguranje mape snimki podataka odgovarajućim NTFS dozvole, konfigurirajte Popis za pristup publikacijama (PAL) za kontrolu pristupa, koristite odvojene servisne račune s minimalnim potrebnim dozvolama za svakog agenta za replikaciju i redovito provjeravajte sigurnosne postavke replikacije.

P: Mogu li replicirati u Azure SQL bazu podataka?

O: Da, možete replicirati u Azure SQL bazu podataka pomoću transakcijske replikacije s lokalnom SQL Server ili upravljanu instancu Azure SQL-a kao izdavača i distributera. Azure SQL baza podataka može poslužiti kao pretplatnik, ali ne kao izdavač ili distributer. Replikacija spajanjem i replikacija između ravnopravnih sustava nisu podržane s Azure SQL bazom podataka.

P: Kako mogu pratiti kašnjenje replikacije?

A: Pratite kašnjenje replikacije pomoću Monitora replikacije u SQL Server Management Studio, koji prikazuje metrike latencije za svaku pretplatu. Također možete slati upite u tablice distribucijske baze podataka kao što su MSdistribution_history i MSrepl_commands, koristiti brojače performansi specifične za agente replikacije ili postaviti upozorenja na temelju pragova latencije kako biste proaktivno otkrili i riješili kašnjenja sinkronizacije.

P: Što se događa kada je pretplatnik izvan mreže?

A: Kada je pretplatnik izvan mreže, ponašanje ovisi o vrsti replikacije. Kod transakcijske replikacije, transakcije se akumuliraju u distribucijskoj bazi podataka dok se pretplatnik ne vrati na mrežu, a zatim se sinkronizacija nastavlja. Kod replikacije spajanjem, promjene se prate na obje strane i spajaju kada se veza obnovi. Postavka razdoblja zadržavanja određuje koliko dugo se podaci čuvaju prije nego što ih je potrebno ponovno inicijalizirati.

P: Kako mogu dodati nove članke u postojeću publikaciju?

A: Za dodavanje novih članaka postojećoj publikaciji koristite SQL Server Management Studio za izmjenu svojstava publikacije i odabir dodatnih objekata ili upotrijebite pohranjenu proceduru sp_addarticle. Nakon dodavanja članaka, generirajte novu snimku i ponovno inicijalizirajte sve pretplate kako biste osigurali da pretplatnici prime nove članke. Neke promjene mogu zahtijevati ponovnu inicijalizaciju pretplate ovisno o postavkama publikacije.

P: Kako mogu ukloniti replikaciju iz baze podataka?

A: Uklonite replikaciju iz baze podataka tako da prvo izbrišete sve pretplate pomoću sp_dropsubscription, zatim uklonite publikaciju pomoću sp_droppublication i na kraju onemogućite objavljivanje u bazi podataka pomoću sp_replicationdboption. Ako je poslužitelj distributer, onemogućite distribuciju pomoću sp_dropdistributor. Uvijek napravite sigurnosnu kopiju baza podataka prije uklanjanja konfiguracije replikacije.

P: Koja je razlika između SQL Server Replikacija i grupe dostupnosti AlwaysOn?

A: Replikacija je rješenje za distribuciju i integraciju podataka koje djeluje na razini objekta, dok Grupe dostupnosti Always On je rješenje za visoku dostupnost i oporavak od katastrofe koje radi na razini baze podataka.

7. Zaključak

SQL Server Replikacija pruža robustan okvir za distribuciju i sinkronizaciju podataka između više baza podataka i lokacija. Tehnologija podržava različite scenarije putem različitih vrsta replikacije.

Odabir prave strategije replikacije ovisi o vašim specifičnim zahtjevima. Uzmite u obzir učestalost promjene podataka, zahtjeve za latencijom, trebaju li pretplatnici vršiti ažuriranja, karakteristike mreže i potrebe za autonomijom pretplatnika. Replikacija snimki najbolje funkcionira za rijetko promjenjive referentne podatke gdje latencija nije kritična. Transakcijska replikacija odgovara scenarijima velikog volumena koji zahtijevaju nisku latenciju i prvenstveno jednosmjerni protok podataka.

Odaberite replikaciju spajanjem kada pretplatnicima treba autonomni rad s izvanmrežnim mogućnostima i dvosmjernom sinkronizacijom. Implementirajte replikaciju između ravnopravnih korisnika za uravnoteženje opterećenja operacija čitanja na više aktivnih čvorova s ​​gotovo dosljednošću u stvarnom vremenu. Razmotrite hibridne pristupe koji kombiniraju više vrsta replikacije za složene scenarije s različitim zahtjevima.

Reference


O Autor:

Yuan Sheng je viši administrator baze podataka (DBA) s preko 10 godina iskustva u SQL Server okruženja i upravljanje bazama podataka poduzeća. Uspješno je riješio stotine scenarija oporavka baza podataka u financijskim uslugama, zdravstvu i proizvodnim organizacijama.

Yuan se specijalizirao za SQL Server oporavak baza podataka, rješenja za visoku dostupnost i optimizaciju performansi. Njegovo opsežno praktično iskustvo uključuje upravljanje bazama podataka od više terabajta, implementaciju grupa dostupnosti Always On i razvoj automatiziranih strategija sigurnosnog kopiranja i oporavka za poslovne sustave od kritične važnosti.

Svojim tehničkim znanjem i praktičnim pristupom, Yuan se usredotočuje na stvaranje sveobuhvatnih vodiča koji pomažu administratorima baza podataka i IT stručnjacima u rješavanju složenih SQL Server učinkovito rješava izazove. Ostaje u toku s najnovijim SQL Server izdanja i Microsoftove razvojne tehnologije baza podataka, redovito testirajući scenarije oporavka kako bi osigurao da njegove preporuke odražavaju najbolje prakse iz stvarnog svijeta.

Imate pitanja o SQL Server oporavak ili trebate dodatne upute za rješavanje problema s bazom podataka? Yuan pozdravlja povratne informacije i sugestije za poboljšanje ovih tehničkih resursa.

Podijeli sada: