Instrumentele de monitorizare SQL Server pot urmări orice, de la activitatea CPU și a discului Windows la blocări, statistici de așteptare, planuri de interogare și disponibilitatea bazei de date. Prin urmare, instrumentul potrivit depinde de nivelul SQL Server pe care trebuie să-l observați, mai degrabă decât de dimensiunea listei sale de funcții.
Această ghid explică ce ar trebui să monitorizeze echipele IT, unde se oprește monitorizarea serverului Windows și începe monitorizarea specifică SQL, ce instrumente Microsoft încorporate sunt disponibile și cum să alegi o abordare de monitorizare adecvată.
Ce face monitorizarea SQL Server remarcabilă?
Monitorizarea serverelor, bazele:
Microsoft SQL Server rulează pe infrastructura serverului, așa că performanța sistemului de operare contează Utilizarea ridicată a CPU-ului, presiunea asupra memoriei sau stocarea lentă pot afecta SQL Server chiar și atunci când nu există nimic în mod inerent greșit cu motorul bazei de date.
Nevoile de monitorizare specifice bazei de date pentru serverele SQL:
Cu toate acestea, metricile clare ale Windows Server nu înseamnă neapărat o performanță bună a SQL Server. Utilizatorii pot experimenta tranzacții lente din cauza blocării, planurilor de execuție slabe sau a așteptărilor interogărilor, în timp ce mașina de bază pare în continuare sănătoasă.
Cum împarte Microsoft asta:
Microsoft reflectă această distincție în propria sa arhitectură de monitorizare. Instrumentele Windows, cum ar fi Performance Monitor, acoperă resursele sistemului, în timp ce SQL Server oferă facilități specifice bazei de date, inclusiv Query Store, Evenimente Extinse, Activity Monitor, jurnale de erori și capacități de monitorizare Transact-SQL.
Monitorizarea SQL Server ar trebui, prin urmare, să cuprindă mai multe straturi complementare, mai degrabă decât un singur set de metrici.
Ce ar trebui să urmărească instrumentele de monitorizare SQL Server?
Metricile exacte necesare depind de faptul dacă echipele IT sunt responsabile în principal pentru disponibilitatea infrastructurii, administrarea bazelor de date sau performanța aplicațiilor. O strategie de monitorizare utilă începe pe o scară largă și adaugă o vizibilitate mai profundă a SQL Server acolo unde sarcina de lucru o necesită.
1. Sănătatea Serverului și Infrastructurii
Începeți cu resursele disponibile pentru gazda SQL Server. CPU, memorie fizică, capacitate de disc, activitate de citire și scriere pe disc, utilizarea rețelei și procesele în execuție oferă contextul infrastructurii pentru performanța bazei de date.
Punctul important este corelația. Timpurile de răspuns SQL ridicate, însoțite de latența stocării, sugerează o investigație diferită față de interogările lente care apar în timp ce gazda are capacitate suficientă de CPU, memorie și I/O.
Monitorizarea gazdei de asemenea ajută la detectarea problemelor care afectează mai mult decât SQL Server. Un server fizic sau virtual poate găzdui aplicații, servicii sau utilizatori la distanță care își desfășoară activitatea concurând pentru aceleași resurse.
2. Starea instanței SQL Server și a bazei de date
Următoarea strat se uită în interiorul motorului de baze de date.
Zonele importante includ de obicei așteptările, sesiunile active, blocările, blocajele, creșterea fișierului bazei de date, utilizarea jurnalului de tranzacții și activitatea TempDB. Administratorii pot de asemenea să fie nevoiți să monitorizeze starea bazei de date, conexiunile, comportamentul memoriei și serviciile SQL Server.
Statisticile de așteptare sunt deosebit de utile deoarece ajută la identificarea pentru ce sarcini SQL Server așteaptă, mai degrabă decât să arate doar că sistemul este lent. Blocările și blocajele oferă o vizibilitate suplimentară, ajutând la identificarea dacă anumite tranzacții concurează pentru resurse.
Platformele dedicate de monitorizare a bazelor de date merg, prin urmare, mult mai în profunzime decât monitoarele de gazdă. De exemplu, IDERA SQL Diagnostic Manager documentează monitorizarea pentru așteptări, lanțuri de blocare, blocaje, presiunea TempDB, latența I/O și creșterea bazei de date.
3. Performanța interogărilor și a sarcinilor de lucru
Odată ce o problemă a fost localizată în sarcina de lucru a bazei de date, metricile agregate ale serverului sunt adesea insuficiente. Administratorii trebuie să determine care interogări consumă resurse excesive și dacă comportamentul lor s-a schimbat.
Informațiile utile la nivel de interogare pot include durata de execuție, consumul de CPU, citirile logice și fizice, consumul de memorie, frecvența de execuție, așteptările și planurile de execuție.
Microsoft Query Store este un bun exemplu de software adaptat pentru aceasta. Păstrează interogările, planurile și statisticile de execuție, astfel încât administratorii să poată examina performanța în timp și să identifice regresiile asociate cu modificările planurilor de interogare. SQL Server 2017 și versiunile ulterioare pot captura statisticile de așteptare prin Query Store.
Acest context istoric este important deoarece multe probleme cu SQL Server sunt intermitente. A ști că CPU-ul a atins 90% ieri după-amiază este util. A ști care interogări au schimbat comportamentul în același moment identifică potențiale pârghii pentru acțiune.
4. Disponibilitate, Locuri de muncă și Sănătatea operațională
Performanța este doar un aspect al monitorizării SQL Server. Defecțiunile operaționale pot afecta disponibilitatea și recuperabilitatea chiar și atunci când performanța sarcinii de lucru pare normală.
În funcție de mediu, administratorii pot avea nevoie de vizibilitate asupra sarcinilor SQL Server Agent, copiilor de rezervă, disponibilității bazei de date și grupurilor de disponibilitate Always On. Proprietățile mai mari sau cele critice pentru afaceri pot necesita, de asemenea, monitorizarea replicării, urmărirea configurației și prognoze de capacitate.
Adâncimea necesară trebuie să urmeze importanța sarcinii de lucru. O mică bază de date internă sau un server SQL de producție clusterizat necesită arhitecturi de monitorizare foarte diferite.
Ce instrumente de monitorizare SQL Server încorporate puteți utiliza?
Înainte de a achiziționa o platformă dedicată, merită să înțelegem ce Microsoft SQL Server deja oferă.
Un set larg de instrumente native:
- Monitorul de activitate suportă inspecția ad hoc
- Query Store păstrează informații istorice despre interogări și planuri
- Evenimentele extinse capturează evenimentele selectate ale motorului
- Vederile de management dinamic expun datele interne de performanță
- Jurnalele de erori SQL Server ajută la investigarea evenimentelor motorului de baze de date.
- Windows Performance Monitor adaugă informații despre resursele sistemului de operare.
Diagnosticare mai profundă, dar complexitate mai mare:
Aceste instrumente pot oferi o adâncime diagnostică substanțială, în special pentru administratorii de baze de date experimentați. De asemenea, evită introducerea unei alte platformă de monitorizare când depanarea ocazională este suficientă.
Limitarea lor nu este adesea accesul la date, ci conveniența operațională. O echipă IT care gestionează mai multe servere poate dori tablouri de bord centralizate, istorii persistente, alerte mai ușoare și corelare mai rapidă în loc să adune informații din mai multe interfețe SQL Server și Windows.
Acolo devine mai convingătoare monitorizarea de către terți.
Cum să alegi instrumentele de monitorizare a SQL Server?
Începeți cu problema pe care instrumentul trebuie să o rezolve. Acest lucru ar trebui să vă salveze de la pierderea obiectivului într-o listă de verificare a celui mai mare număr de metrici suportate.
1. Adâncimea necesară a vizibilității
O întrebare utilă este dacă aveți nevoie de monitorizarea infrastructurii, diagnostice pentru motorul de baze de date sau analiză detaliată a interogărilor.
| Cerință | Abordare de monitorizare |
|---|---|
| CPU, memorie, disponibilitate disk și server | Monitorizarea serverului sau a infrastructurii |
| Depanare ocazională a SQL Server | Instrumente Microsoft SQL Server încorporate |
| Blocări, așteptări, blocaje și alerte de bază de date | Monitorizarea dedicată a SQL Server |
| Planuri de interogare și regresii de performanță | Query Store sau monitorizare avansată SQL |
| Mare proprietate SQL multi-instanta | Monitorizarea centralizată a bazei de date |
| SQL Server plus dependențe de aplicație mai largi | Observabilitate a infrastructurii sau a stivei complete combinată cu monitorizarea specifică SQL |
Aceste categorii pot suprapune. În multe medii, cea mai practică abordare este o combinație mai degrabă decât un singur produs.
2. Potrivirea alertelor și a istoricului cu operațiunile
Monitorizarea devine cea mai utilă atunci când evidențiază comportamente anormale înainte ca utilizatorii să raporteze o problemă.
Uitați-vă dacă un instrument suportă alerte de prag, tendințe istorice și suficient context pentru a investiga evenimentul ulterior. Platformele SQL specializate pot merge mai departe prin atașarea lanțurilor de blocare, graficele de blocare sau informațiile despre interogări direct la o alertă. Redgate Monitor, de exemplu, documentează alertele specifice SQL pentru evenimente, inclusiv blocaje, lucrări eșuate, interogări blocate și interogări care durează mult timp.
Stabilirea liniilor de bază este, de asemenea, importantă. O valoare care este anormală pentru o bază de date poate fi obișnuită pentru alta, așa că alertele ar trebui să reflecte comportamentul și importanța de afaceri a sarcinilor individuale.
3. Luați în considerare scalabilitatea, desfășurarea și administrarea
Un instrument potrivit pentru o instanță SQL Server poate deveni incomod pe zeci de servere.
Considerați câte gazde, instanțe și baze de date necesită monitorizare, cum sunt colectate și păstrate datele de monitorizare și cât de ușor pot compara administratorii sistemele dintr-o consolă centrală. Prin urmare, licențierea, efortul de implementare, generarea de rapoarte și administrarea alertelor ar trebui evaluate alături de profunzimea tehnică.
Obiectivul nu este de a colecta fiecare metric posibil. Este de a colecta cele mai relevante informații într-o cantitate suficientă pentru a identifica comportamentele anormale și a scurta drumul de la simptom la cauză, astfel încât tehnicienii dvs. IT să poată rezolva o problemă.
Unde se încadrează TSplus Server Monitoring?
TSplus Server Monitoring se ocupă de partea de infrastructură a acestui model de monitorizare. Oferă vizibilitate în timp real în CPU, memorie, activitatea de citire și scriere pe disc, lățimea de bandă, procese și utilizatori conectați, împreună cu rapoarte istorice și alerte configurabile pentru metricile serverului.
Pentru un server Windows care rulează Microsoft SQL Server, această vizibilitate va ajuta la determinarea dacă o problemă de performanță a bazei de date coincide cu presiunea CPU, consumul de memorie, activitatea pe disc sau o altă condiție la nivel de gazdă. Raportarea istorică oferă, de asemenea, context pentru problemele recurente de infrastructură.
TSplus Server Monitoring nu este, totuși, un analizator de performanță a bazei de date SQL Server dedicat. Cerințele specifice SQL, cum ar fi analiza planului de execuție, investigarea Query Store, lanțurile de blocare, analiza blocajelor sau statisticile detaliate de așteptare necesită instrumentele SQL Server de la Microsoft sau un produs specializat de monitorizare a bazelor de date.
Pentru multe echipe IT, aceste straturi se completează reciproc. TSplus Server Monitoring poate oferi o vedere clară a stării serverului și a consumului de resurse, în timp ce instrumentele native ale SQL Server oferă o vizibilitate mai profundă a bazei de date și ajută la identificarea momentului în care un incident indică motorul bazei de date sau o sarcină de lucru individuală.
Concluzie
Alegerea dintre instrumentele de monitorizare SQL Server începe cu decizia privind ceea ce necesită vizibilitate. Resursele serverului, sănătatea motorului de baze de date și performanța interogărilor reprezintă diferite straturi ale aceluiași sistem, iar nicio metrică unică nu le explică pe toate.
Începeți cu sănătatea infrastructurii, apoi adăugați monitorizarea specifică SQL ori de câte ori sarcina de lucru necesită o diagnosticare mai profundă. Această abordare stratificată menține monitorizarea practică, oferind în același timp echipelor IT suficient context pentru a distinge o problemă de server de o problemă de bază de date sau de interogare.
TSplus Acces la Distanță Încercare Gratuită
Alternativă finală la Citrix/RDS pentru acces la desktop/aplicații. Sigur, rentabil, pe premise/cloud
Unele Întrebări Frecvente
Ce este un instrument de monitorizare SQL Server?
Un instrument de monitorizare SQL Server urmărește sănătatea, performanța sau disponibilitatea mediilor Microsoft SQL Server. În funcție de domeniul său de aplicare, acesta poate monitoriza resursele gazdelor, bazele de date, așteptările, blocările, interogările, sarcinile, copiile de rezervă sau configurațiile de disponibilitate.
Ce metrici SQL Server ar trebui să monitorizez?
Metricile de bază, în funcție de sarcina de lucru, includ de obicei CPU, memorie și stocare. În plus, markerii specifici SQL indică așteptările, blocările, blocajele, creșterea bazei de date, jurnalele de tranzacții, activitatea TempDB, durata interogărilor și starea sarcinilor.
Poate monitorizarea Windows Server să detecteze problemele SQL Server?
Monitorizarea Windows Server poate identifica problemele de infrastructură care afectează SQL Server, inclusiv presiunea pe CPU, memorie și disc. Nu poate explica de la sine problemele motorului de baze de date, cum ar fi regresiile planului de interogare, lanțurile de blocare sau așteptările specifice SQL.
SQL Server include propriile sale instrumente de monitorizare?
Da. Microsoft SQL Server include instrumente și facilități precum Query Store, Evenimente Extinse, Monitor de Activitate, Vederi de Management Dinamic, jurnale de erori și funcții de performanță Transact-SQL. Adecvarea lor depinde de evenimentul sau sarcina de lucru care este investigată.
Am nevoie de software dedicat pentru monitorizarea SQL Server?
Nu neapărat. Instrumentele încorporate pot fi suficiente pentru medii mici sau depanare ocazională. Combinat cu TSplus Server Monitoring pentru scopuri generale, monitorul încorporat al SQL Server de la Microsoft nu are multe de invidiat produselor de monitorizare terță parte. Monitorizarea dedicată devine mai utilă atunci când echipele au nevoie de vizibilitate centralizată, alerte continue, istoric pe termen lung sau diagnosticare mai rapidă pe mai multe instanțe SQL Server.