Orodja z visoko razpoložljivostjo v MS SQL Server

V tem članku si bomo ogledali vse tehnologije SQL Server, ki lahko zagotavljajo visoko razpoložljivost podatkov in odstopanje napak za vaš SQL Server..

Varnostne kopije so dobre, ko pa bo račun potekal nekaj minut, včasih pa samo odvečnost podatkov in jasen načrt za prehajanje. SQL Server ponuja različne načine za izvajanje redundantnosti podatkov in visoke razpoložljivosti.

Vsebina:

  • Zrcaljenje baze podatkov v SQL strežniku
  • Pošiljanje prijav v SQL Server
  • Podvajanje v Microsoftovem strežniku SQL: Pregled metod
  • Vedno v skupinah razpoložljivosti v SQL strežniku

Zrcaljenje baze podatkov v SQL strežniku

  • Na voljo v izdajah: Standardno (samo sinhroni način), Podjetje, splet / ekspres - samo način pričevanja
  • Deluje na ravni: Baze podatkov
  • Različica strežnika SQL: SQL Server 2005, SQL Server 2008
Opomba. Zrcaljenje baze podatkov je v vzdrževalnem načinu in ga je mogoče odstraniti v prihodnjih različicah SQL Serverja, zato ni priporočljivo uporabljati te tehnologije v različicah, višjih od SQL Server 2008.

Zrcaljenje deluje na ravni baze podatkov (morda je še vedno na ravni objekta) in v primeru odpovedi zagotavlja samodejni / ročni prehod med strežniki. Osnova za rezervo v katerem koli od načinov zrcaljenja bo v stanju nenehne obnovitve, zato ne bo delovala.

Zrcaljenje ima 2 načina delovanja: Sinhrono in Asinhrono..

Sinhrono način pomeni, da sta glavni strežnik in varnostna kopija popolnoma sinhronizirana. Sinhronizacija je dosežena zaradi dejstva, da se podatki, ki pridejo na glavni strežnik, takoj pošljejo na rezervni strežnik. Rezervni strežnik čim hitreje zapiše podatke v dnevnik transakcij na disk. Takoj ko rezervni strežnik konča s pisanjem podatkov, pošlje signal glavnemu strežniku, po katerem glavni strežnik zapiše podatke na disk. V tem načinu se čas transakcije poveča zaradi dejstva, da mora glavni strežnik počakati, da se podatki zapišejo na disk na rezervnem strežniku, vendar je s tem pristopom verjetnost izgube podatkov minimalna.

V sinhronem načinu je možna uporaba strežnika Witness. Strežnik v načinu priče spremlja delovanje zrcalnih strežnikov in lahko sproži preklop, torej strežnik v stanju pripravljenosti preide v aktivno stanje.

Upoštevati morate, da bodo ozka grla na rezervnem strežniku vplivala na glavno.

Asinhrono ali visoko zmogljiv način - Deluje tudi, le da glavni strežnik po pošiljanju dnevnika transakcij ne čaka na odgovor iz varnostne kopije o uspešnem pisanju na disk.

V tem načinu so transakcije hitrejše in delovanje rezervnega strežnika ne vpliva na primarnega, če pa je varnostni rezervni strežnik obnovljen kot primarni, obstaja nevarnost izgube podatkov, saj podatki na strežnikih niso sinhronizirani.

Zrcaljenje je treba uporabljati le, če imate tekmo za vse pogoje

  • SQL Server 2008 ali SQL Server 2005
  • Nizka zakasnitev omrežja med primarnim strežnikom in pripravljenostjo
  • Izguba celo ene transakcije je za vas kritična

Če vaš primer ne ustreza vsem pogojem, razmislite o drugih možnostih..

Pošiljanje prijav v SQL Server

  • Na voljo v izdajah: Standard, splet, podjetništvo
  • Deluje na ravni: Baze podatkov
  • Različica strežnika SQL: SQL Server 2005 in novejši

Tehnologija pošiljanja dnevnikov vam omogoča, da samodejno pošljete varnostne kopije dnevnikov transakcij iz izvorne baze podatkov v eno ali več baz prejemnikov in jih nato obnovite v prejemniške baze podatkov. Po izbiri lahko obstaja tretji strežnik, ki bo opravljal vlogo nadzorne storitve - za spremljanje izvajanja varnostnih kopij in obnovitev dnevnikov.

Spremljanje in diagnostika strežnika SQL, obravnavana v ločenem članku.

Po nastavitvi pošiljanja dnevnika se ustvarijo delovna mesta. Načelo delovanja je naslednje:

  1. Prva naloga je odgovorna za varnostno kopiranje dnevnika transakcij na primarnem strežniku
  2. Druga naloga je odgovorna za distribucijo varnostnih kopij na vse prejemniške strežnike
  3. Tretje opravilo obnovi dnevnike v vseh prejemniških bazah podatkov. Obnovitev je na voljo v načinu brez obnovitve ali v pripravljenosti.

To je preprostejša tehnologija glede zrcaljenja in funkcije Always On. Pošiljanje dnevnika je treba uporabiti, kadar:

  • Sprejemljiva je razlika med podatki med primarnim in ciljnim strežnikom. Standardni urnik za izpolnjevanje nalog je vsakih 15 minut. Lahko postavite manj, vendar morate upoštevati hitrost prenosa podatkov po omrežju in čas za obnovo dnevnikov.
  • Dostop do baz podatkov prejemnikov želite dostopati do branja. To je mogoče, če je način obnovitve nastavljen na stanje pripravljenosti. Vendar ne pozabite, da lahko do baze podatkov dostopate le med obnovo dnevnika.

Podvajanje v Microsoftovem strežniku SQL: Pregled metod

  • Na voljo v izdajah: Standardno in spletno omejeno, Enterprise
  • Deluje na ravni: Objekt baze podatkov
  • Različica strežnika SQL: SQL Server 2000 in novejši
Oglejte si pregled različic SQL Server in funkcij licenciranja..

Obstajajo različne vrste podvajanja:

  • Transakcijska replikacija
  • Medsebojna transakcijska replikacija
  • Razmnoževanje posnetka
  • Spoji replikacijo

Obstajata še dve topologiji, ki temeljita na transakcijski podvajanju:

  • Dvosmerna transakcijska replikacija
  • Obnovljive naročnine za transakcijsko podvajanje (funkcija, ki je podprta v različicah SQL Server 2012 do 2016)

Podvajanje se lahko uporablja v različne namene, vendar se v glavnem uporablja za odstranjevanje strežnikov OLTP z izbranimi poizvedbami in za veliko razpoložljivost. Čeprav Microsoft ne razmnožuje razmnoževanja kot sredstva za doseganje visoke razpoložljivosti, lahko to vlogo tudi izpolni..

Opomba: V modelu podvajanja SQL Server obstajajo 3 vrste strežnikov:

  • Založnik (založnik) - strežnik, ki objavlja članke
  • Distributer (distributer) - strežnik, ki članke razdeli na naročniške strežnike
  • Naročnik (naročnik) - strežnik, ki sprejema razdeljene članke

Spremembe, ki se zgodijo v izbranih objektih založnika, se najprej pošljejo distributerju, nato pa distributer te spremembe pošlje naročnikom.

Razmislite o 4 osnovnih vrstah podvajanja

Transakcijska replikacija

Ta vrsta podvajanja se uporablja za kopiranje podatkov "v realnem času", to pomeni, da se podatki o naročnikih prikažejo skoraj takoj, pri čemer se upošteva čas kopiranja podatkov po omrežju.

Transakcije izdajatelja pošljejo distributerju, distributer te transakcije pošlje naročnikom. Distributer lahko naročnikom pošlje podatke takoj ali po določenem urniku. Naročniške subjekte, ki sodelujejo v podvajanju, je treba uporabljati samo za dostop samo za branje, sicer bodo podatki postali nedosledni in prišlo bo do konflikta.

Peak-to-peer transakcijska replikacija

Pea-to-peer ali Peer-to-peer transakcijska replikacija je podobna običajni transakcijski replikaciji, vendar lahko deluje z več strežniki hkrati.

Medtemeljeno podvajanje se lahko imenuje master-master replikacija (za normalno transakcijsko podvajanje bi bilo to master-slave). Upoštevajte diagram iz Microsoftove dokumentacije

Vsak primerek strežnika SQL, ki sodeluje v medsebojni podvajanju, lahko obravnava operacije branja in pisanja. Tudi pri tej vrsti podvajanja je na voljo mehanizem za reševanje konfliktov, ko ista operacija prispe na več strežnikov hkrati, na primer zahteva za posodobitev. Toda tudi ob upoštevanju tega mehanizma ni priporočljivo pisati podatkov na več primerkov hkrati..

Ta vrsta podvajanja se lahko uporablja za izravnavo obremenitve, vključno z operacijami posodabljanja / vstavljanja / brisanja..

Razmnoževanje posnetka

To je posebna vrsta podvajanja, ki ne sledi spremembam podatkov o založniku, ampak po določenem urniku ustvari posnetek in ga pošlje naročnikom (prek distributerja).

Podvajanje posnetka ne uporablja vseh transakcij zaporedno, kot je to primer pri dostavi dnevnikov in transakcijski podvajanju, temveč podatke kopira prek bcp.

To vrsto podvajanja je vredno uporabiti, kadar:

  • Podatki se redko spreminjajo
  • Dovoljena razlika podatkov med založnikom in naročnikom
  • Velika količina sprememb v kratkem času

Spoji podvajanje

Mehanizem je podoben transakcijski replikaciji med vrstniki, vendar obstaja več pomembnih razlik:

  • Replikacija združevanja ima lahko le enega založnika in več naročnikov, kadar so, tako kot pri enakovredni kopiji, vsi primerki enaki drug drugemu (hkrati sta založnik in naročnik hkrati
  • Pri podvajanju združitve lahko naročniki prejmejo različne podatke, če imajo vsi strežniki enake podatke v medsebojni podvajanju
  • Podvajanje združitve lahko reši konflikte, enakovredno - ne
  • Medsebojna replikacija je na voljo samo v izdaji Enterprise

Ko želite združiti podatke, morate uporabiti podvajanje združitve..

Dvosmerna transakcijska replikacija in nadgrajene naročnine na transakcijsko podvajanje

Dvosmerna transakcija je topologija, pri kateri je običajna transakcijska replikacija konfigurirana za kopiranje istih podatkov. Parameter @loopback_detection v sp_addsubscription mora biti nastavljen na TRUE

Obnovljivi naročniški naročniški posnetki so podobni podvajanju. Ta tehnologija je precej hitro zastarela, saj je praktično ni uporabljala in jo nadomeščajo druge vrste podvajanja..

Vedno v skupinah razpoložljivosti v SQL strežniku

  • Na voljo v izdajah: Standardno (z omejitvami), Enterprise (
  • Deluje na ravni: Baze podatkov
  • Različica strežnika SQL: SQL Server 2012 in novejši

V različici SQL Server 2012. so se vedno pojavljale skupine za razpoložljivost, kar je alternativa (čeprav bolj verjetno, razvoj) tehnologije zrcaljenja baz podatkov..

Skupine Always On Razpoložljivosti temeljijo na Preklopna grozda Windows Server, vendar je od različice 2017 postalo možno uporabljati Vedno vklopljen brez WSFC. Vedno vklopljen je podobno zrcaljenju v bazi (sinhroni in asinhroni načini), vendar je lahko do 8 sekundarnih kopij. Always On podpira samodejno preklapljanje (torej, ko se zruši primarni primerek grozda, WSCF izbere novo primarno kopijo in preusmeri zahteve za pisanje nanjo).

Vsak primerek v skupini za razpoložljivost je lahko kateri koli primarno (glavni) ali sekundarno (sekundarno). Sekundarne replike so lahko bodisi v samo za branje, bodisi v Brez okrevanja. Vsak primerek v skupini razpoložljivosti vsebuje kopije podatkovnih zbirk skupine. Upoštevajte, da bo v sinhronem načinu hitrost transakcij odvisna od "najpočasnejšega" člana skupine za razpoložljivost.

V osnovni namestitvi je Always On enostaven, po namestitvi SQL Serverja je vse mogoče konfigurirati s pomočjo čarovnika (WSFC prek vtičnika v sistemu Windows in do samih skupin dostopajte prek čarovnika v SSMS). Toda z velikim številom strežnikov in zapleteno infrastrukturo boste morali dobro preučiti dokumentacijo.

Pri zrcaljenju ali če potrebujete uravnoteženje izbranih poizvedb, je priporočljivo uporabljati Vedno vklopljeno v enakih situacijah. Priporočljivo je tudi, da naredite varnostne kopije iz sekundarnih kopij, to je še ena uporaba skupin za razpoložljivost.

Če želite več informacij o skupinah Always On Groups, ki so na voljo v SQL Server, glejte.

SQL Server ponuja široko paleto rešitev za razpoložljivost podatkov. Če imate Enterprise Edition in SQL Server 2012 (ali novejši), je bolje uporabiti Always On. Podvajanje se lahko uporablja za izklop sistemov OLTP z izbranimi poizvedbami in za delno odvečnost (čeprav je medsebojna replikacija postavljena kot popolno sredstvo za odvečnost podatkov). Pošiljanje dnevnika transakcij in zrcaljenje z bazo podatkov se lahko uporabljata v starejših različicah SQL Server ali če vas pogoji prisilijo, da uporabljate te tehnologije..

Upoštevajte, da vse zgoraj naštete tehnologije visoke razpoložljivosti v SQL Serverju ne nadomeščajo varnostnih kopij..