SQL Serverin High Availability ja seuranta

SQL Serverin High Availability ja seuranta

SQL Serverin vaativampiin hallintatoimiin kuuluu usein High Availability -ratkaisujen toteuttaminen.

HA-ratkaisun valinnassa painaa moni tekijä, esim.

  • Millä tasolla HA:ta tarvitaan koko instanssille vai yksittäisille tietokannoille
  • Kuinka paljon ollaan valmiita hallintatoimiin
  • Millainen serveri- ja levyjärjestelmä on käytettävissä
  • Halutaanko HA:n avulla skaalata järjestelmää

SQL Server AlwaysOn Failover Cluster

Tällä perinteisellä ja hyvin tunnetulla tekniikalla on mm. seuraavia ominaisuuksia ja vaatimuksia:

  • Instanssitason suojaus
  • Ei varsinaista kuorman tasausta
  • Enterprise-versiossa jopa kymmeniä noodeja
  • Tarvitsee Windows Server Failover klusterin
  • Tarvitsee vikasietoisen yhteisen jaetun levyjärjestelmän
  • SQL Server asennetaan klusteriasennuksena kaikille noodeilla ja kaikki tietokannat yhteiselle levyjärjestelmälle (tempdb voi olla paikallisilla levyillä)
  • Joustava Failover menettely
  • Voi hyödyntää Clustered Shared Volumeja (SQL Server 2014 eteen päin)
  • Vaatii vähän hallintaa
  • Yleensä kallis ratkaisu

SQL Server AlwaysOn Availability Groups

Tällä hieman uudemmalla tekniikalla on mm. seuraavia ominaisuuksia ja vaatimuksia:

  • Suojaus tietokanta(ryhmä) tasolla
  • Kuorman jakoa Backup- ja lukuoperaatioille
  • Enterprise-versiossa useita noodeja
  • Tarvitsee Windows Server Failover klusterin, mutta ei (välttämättä) yhteistä leyjärjestelmää
  • SQL Server asennetaan normaalisti (ei klusteriasennuksena)
  • Data replikoidaan kaikille noodeille synkronisesti tai asynkronisesti
  • Systeemikantoja ja objekteja ei replikoida
  • Vaatii hallinnointia esi. Agentin jobien, käyttäjien jne. suhteen
  • Voidaan toteuttaa edullisilla palvelimilla

Virtualisointi voi luonnollisesti liittyä molempiin edellisiin vaihtoehtoihin tai sillä yksistään voidaan, virtualisointitekniikasta riippuen, toteuttaa HA-ratkaisuja.

SQL Serverin Seuranta ja optimointi

SQL Serverin seurannassa on käytettävissä useita eri työkaluja ja menetelmiä, mutta on oleellista tietää mitä milloinkin käyttää ja kuinka niiden tuloksia tulkita. Tyypillisiä työkaluja ovat:

  • Windowsin Performance Monitor
  • SQL Server Profiler
  • Systeeminäkymät ja funktiot eli sql-komentojen hyödyntäminen lukuisten asioiden selvittämiseen (SQL cache, wait-ajat, hitaat kyselyt, puuttuvat indekist jne.)
  • Extented eventit
  • Activity Monitor
  • Kolmansien osapuolien seurantatyökalut

Nyt on hyvä huomata, että SQL Server Profiler on vanheneva tuote ja sen käyttö olisi syytä korvata Extented Eventeillä. Extented eventit ovat monille administraattoreille aika vieraita vieläkin ja niiden hyvä osaaminen tuo verrattoman lisän erilaisten suorituskykyongelmien ja epäkäytettävyystilanteiden selvittämiseen.

 


SQL Serverin ominaisuuksiin ja käyttöön pääset tutustumaan tarkemmin esimerkiksi näissä koulutuksissa:

SQL Server hallinta II

10987 Performance Tuning and Optimizing SQL Databases

Perusteet voit ottaa haltuun SQL Server Hallinta I -koulutuksessa