1. Uvod u SQL Server Performance Monitor
1.1 Što je SQL Server Monitor performansi?
SQL Server Monitor performansi je proces praćenja, analiziranja i upravljanja performansama i stanjem vašeg SQL Server baze podataka. Uključuje prikupljanje i interpretaciju podataka o različitim aspektima vašeg sustava baze podataka kako bi se osigurale optimalne performanse, spriječili problemi i održalo zdravlje baze podataka.
Praćenje performansi obuhvaća praćenje vremena izvršavanja upita, iskorištenosti resursa, performansi indeksa, blokiranja i zastoja te obrazaca rasta baze podataka. Ovaj kontinuirani nadzor pomaže administratorima da identificiraju potencijalne probleme prije nego što utječu na korisnike ili poslovne operacije.
1.2 Ključne prednosti praćenja performansi
Djelotvoran SQL Server Monitor performansi pruža nekoliko ključnih prednosti:
- Proaktivno otkrivanje problema: Identificirajte i riješite potencijalne probleme prije nego što utječu na korisnike ili poslovne operacije
- Optimizacija performansi: Utvrdite uska grla i neučinkovitosti kako biste poboljšali ukupne performanse baze podataka
- Planiranje kapaciteta: Predvidite potrebe za resursima i planirajte budući rast na temelju povijesnih podataka
- Sukladnost i sigurnost: Osigurati poštivanje regulatornih zahtjeva i otkriti sumnjive aktivnosti
1.3 Uobičajeni izazovi u performansama
Bez odgovarajućeg monitora performansi SQL baze podataka, organizacije se suočavaju s nekoliko rizika:
- Neočekivani zastoj koji remeti poslovne operacije
- Loše performanse aplikacije utječu na korisničko iskustvo
- Gubitak ili oštećenje podataka
- Neučinkovito korištenje resursa dovodi do nepotrebnogosts
- Frustrirani korisnici i potencijalni gubitak prihoda
Prema IDC-ovoj studiji iz 2023. godine, 65% problema s performansama baze podataka proizlazi iz loših praksi praćenja ili optimizacije.
2. Razumijevanje programa Windows Performance Monitor (PerfMon)
2.1 Što je Windows Performance Monitor?
Nadzor performansi sustava Windows (PerfMon) je ugrađeni alat sustava Windows koji prati sistemske resurse i performanse aplikacija. SQL Server administratorima, PerfMon pruža neprocjenjiv uvid u operativni sustav i SQL Server metrike, što ga čini ključnim za sveobuhvatnu analizu performansi.
PerfMon redovito mjeri statistiku performansi i sprema tu statistiku u datoteke za kasniju analizu. Administratori baza podataka mogu odabrati vremenski interval, format datoteke i koje statistike će pratiti. Alat nije SQL Server-specifičan—administratori sustava koriste ga za nadzor samog sustava Windows, sustava Exchange, datotečnih poslužitelja i bilo koje aplikacije koja može imati uska grla.
2.2 Pokretanje Monitora performansi
Performance Monitor možete pokrenuti na nekoliko načina:
- Kliknite početni plantipa PerfMon U polju za pretraživanje kliknite na "Performand Monitor" u rezultatima pretraživanja:
- Press Windows + Rtipa PerfMon, i pritisnite ući
- Dođite na Kontrolna ploča -> Sustav i sigurnost -> administrativni alati -> Performance Monitor
3. osnovni SQL Server Brojači performansi
3.1 Brojači performansi memorije
Brojači memorije su ključni za praćenje SQL Server performanse jer pokazuju ima li vaša baza podataka dovoljno memorijskih resursa.
Dostupni MBytes
Ovaj brojač prikazuje količinu fizičke memorije odmah dostupne za dodjelu. Trebala bi ostati prilično konstantna i idealno ne bi trebala pasti ispod 4096 MB. Niske vrijednosti mogu ukazivati na to da SQL ServerPostavka maksimalne memorije ostavljena je na zadanoj vrijednosti ili nijeSQL Server aplikacije troše memoriju.
Očekivano trajanje stranice
Očekivano trajanje stranice mjeri koliko dugo (u sekundama) stranica ostaje u međuspremniku bez referenciranja. Normalna vrijednost je 300 sekundi ili više. Niže vrijednosti ukazuju na pritisak memorije i prekomjerno izmjenjivanje međuspremnika, što smanjuje učinkovitost predmemorije.
Omjer pogodaka predmemorije međuspremnika
Ovaj brojač pokazuje postotak zahtjeva za podacima na koje se odgovori korištenjem SQL međuspremnika (memorije) umjesto čitanja s diska. Obično dostiže ili prelazi 99%. Niže vrijednosti ukazuju na to da SQL Server treba više memorije ili se još uvijek zagrijava nakon ponovnog pokretanjatart.
Dodjela memorije na čekanju
Ovo pokazuje broj procesa koji čekaju memoriju unutar SQL ServerU normalnim uvjetima, ova vrijednost bi trebala biti konstantno 0. Veće vrijednosti ukazuju na nedovoljnu alokaciju memorije za SQL Server.
Tarusporedite memoriju poslužitelja s ukupnom memorijom poslužitelja
Target Server Memory označava idealnu količinu memorije SQL Server želi koristiti. Ukupna memorija poslužitelja pokazuje što SQL Server trenutno koristi. Omjer između tih vrijednosti trebao bi biti približno 1. Značajne razlike mogu ukazivati na memorijski pritisak ili nedovoljnu raspoloživu memoriju.
3.2 Brojači performansi procesora
Brojači procesora pomažu u prepoznavanju uskih grla procesora i razumijevanju kako SQL Server koristi računalne resurse.
% vremena procesora
Ovo mjeri postotak proteklog vremena koje procesor provodi izvršavajući niti koje nisu u mirovanju. Na aktivnim poslužiteljima vrijednosti mogu porasti na 100%, ali dugotrajna upotreba iznad 70-75% obično ukazuje na probleme s performansama za korisnike. Nedostajući ili neadekvatni indeksi često uzrokuju veliku upotrebu CPU-a.
% Privilegirano vrijeme
Procesorsko vrijeme dijeli se na korisnički način rada i privilegirani (kernel) način rada. Sav pristup disku i ulazno/izlazni operaciji odvijaju se u kernel načinu rada. Ako ovaj brojač prelazi 25%, sustav vjerojatno izvodi previše ulazno/izlaznih operacija. Normalne vrijednosti kreću se između 5% i 10%.
Duljina reda procesora
Ovaj brojač prikazuje niti koje čekaju CPU resurse. Vrijednosti su stalno iznad 1 (osim tijekom SQL Server kompresija sigurnosne kopije) ukazuju na opterećenje CPU-a. To često znači da su na SQL Server stroj, što krši najbolje prakse.
Prebacivanja konteksta/sek
Ovo mjeri koliko često procesor prebacuje između niti. Prekomjerno prebacivanje konteksta može utjecati na performanse i ukazuje na veliko opterećenje sustava.
3.3 Brojači performansi ulazno/izlaznih operacija diska
Brojači diskova su ključni za praćenje performansi SQL-a jer I/O operacije s diska često postaju glavno usko grlo u sustavima baza podataka.
% Vrijeme diska
Ovo bilježi postotak vremena u kojem je disk bio zauzet operacijama čitanja/pisanja. Vrijednosti koje su stalno iznad 85% ukazuju na usko grlo u ulazno/izlaznim operacijama. Budući da je disk puno sporiji od memorije, smanjenje ove metrike poboljšava performanse.
Prosječno vrijeme čitanja na disku (s) i prosječno vrijeme pisanja na disku (s)
Ovi brojači mjere prosječno vrijeme (u sekundama) za operacije čitanja i pisanja. Ako prosječne vrijednosti premašuju 10-20 ms, disku treba predugo za obradu podataka. Pogoni za zapisnike transakcija zahtijevaju posebno brze performanse pisanja.
Duljina reda diska
Ovo prikazuje neriješene zahtjeve za čitanje/pisanje na disk. Vrijednosti koje su stalno veće od 2 (ili 2 po disku za RAID polja) ukazuju na to da disk ne može pratiti I/O zahtjeve.
Disk bajtova/sek
Ovo prati brzinu prijenosa podataka na/s diska. Ako to premaši nazivni kapacitet diska, podaci počinju zaostajati, što je naznačeno povećanjem duljine reda čekanja diska.
Prijenosi diska/sek
Ovo prati broj operacija čitanja/pisanja izvršenih na disku. SQL Server Pristup podacima je obično nasumičan, što je sporije zbog pomicanja glave pogona. Osigurajte da ova vrijednost ostane ispod maksimalne brzine vašeg diskovnog pogona (obično 100/s za standardne pogone).
3.4 SQL Server Specifični brojači
3.4.1 Brojači upravitelja međuspremnika
Nadzor brojača Upravitelja međuspremnika SQL Serveroperacije s međuspremnikom memorije:
- Čitanja stranice/sek: Kumulativni broj čitanja fizičkih stranica baze podataka
- Pisanja stranice/sek: Kumulativni broj zapisivanja fizičkih stranica baze podataka
- Lijeno pisanje/sek: Broj međuspremnika koje je lazy writer napisao za oslobađanje memorije
- Stranice kontrolne točke/sek: Stranice ispražnjene kontrolnom točkom ili drugim operacijama koje zahtijevaju ispražnjenje svih prljavih stranica
3.4.2 Brojači SQL statistike
Ovi brojači pružaju uvid u SQL Server obrada upita:
- Grupni zahtjevi/sek: Broj SQL serijskih zahtjeva koje je poslužitelj primio. Ovo služi kao mjerilo za aktivnost poslužitelja.
- SQL kompilacije/sek: Broj SQL kompilacija. Trebao bi biti 10% ili manje od ukupnog broja zahtjeva za pakete/sek.
- SQL rekompilacije/s: Broj SQL ponovnih kompilacija. Također bi trebao biti 10% ili manje od ukupnog broja zahtjeva u serijama/sek.
3.4.3 Opći statistički brojači
- Korisničke veze: Broj korisnika spojenih na sustav. Koristi se kao referentna vrijednost za praćenje rasta veze tijekom vremena.
- Blokirani procesi: Trenutni broj blokiranih procesa. Idealno bi bilo da bude 0
3.4.4 Brojači upravitelja memorije
- Dodjele memorije na čekanju: Ukupan broj procesa koji čekaju na dodjelu memorije za radni prostor. Idealno bi trebao biti 0.
4. Postavljanje monitora performansi za SQL Server(Windows Vista / Server 2008 i noviji)
Prije svega, moramo stvoriti kontejner za lakše upravljanje brojačima:
- Za Windows Vista / Server 2008 i novije verzije, u ovom odjeljku možete stvoriti skupove kolekcionara podataka.
- Za Windows XP / Server 2003 i starije verzije, možete stvoriti zapisnike brojača u sljedeći odjeljak.
4.1 Što su skupovi za prikupljanje podataka?
Skupovi za prikupljanje podataka organiziraju brojače performansi, podatke o praćenju događaja i informacije o konfiguraciji sustava u jednu jedinicu za prikupljanje. Pružaju veću fleksibilnost od jednostavnih zapisnika brojača i omogućuju automatizirano, planirano prikupljanje podataka za sveobuhvatno praćenje performansi SQL baze podataka.
4.2 Izrada skupa kolekcionara podataka
Izradite prilagođeni skup prikupljača podataka za praćenje SQL Server brojači performansi:
- Otvorite Monitor performansi
- Proširiti Setovi za prikupljanje podataka
- Desnom tipkom miša Korisnik definiran
- odabrati Novo -> Set za prikupljanje podataka
- Unesite opisni naziv (npr. „SQL Server Metrike performansi")
- odabrati Stvori ručno (napredno)
- Kliknite Sljedeći
- Provjeriti Izradi zapisnike podataka -> Brojač performansi
- Kliknite Sljedeći
- Kliknite dodati za odabir brojača
- dodati željeni SQL Server i sistemski brojači.
- Postaviti Interval uzorka
- Za rutinsko praćenje koristite 1 minutu (60 sekundi)
- Za aktivno rješavanje problema koristite 15-30 sekundi
- Izbjegavajte dugotrajno izvođenje visokofrekventnih snimanja jer mogu utjecati na performanse i generirati previše podataka.
- Kliknite Sljedeći
- Odaberite lokaciju za spremanje zapisnika
- Kliknite završiti, bit će kreiran novi skup kolekcionara podataka.
- Prema zadanim postavkama, novi skup prikupljača podataka će NE biti starautomatski se pokreće. Morate ga pronaći na lijevoj ploči, pod Izvođenje -> Setovi za prikupljanje podataka -> Korisnik definiran -> Vaš sakupljač podataka, kliknite ga desnom tipkom miša i odaberite početni plan
4.3 Ključni brojači koje treba dodati
- Memorija -> Dostupni MB
- Fizički disk -> Prosječno vrijeme čitanja diska u sekundama (sve instance osim _Ukupno)
- Fizički disk -> Prosječno vrijeme pisanja na disku (sve instance osim _Ukupno)
- Fizički disk -> Čitanja diska/sek (sve instance osim _Total)
- Fizički disk -> Zapisivanja na disk/s (sve instance osim _Total)
- Procesor -> % Vrijeme procesora (sve instance osim _Total)
- SQLServer: Opća statistika -> Korisničke veze
- SQLServer: Upravitelj memorije -> Memorijske dodjele na čekanju
- SQLServer: SQL statistika -> Grupni zahtjevi/sek
- SQLServer: SQL statistika -> SQL kompilacije/sek
- SQLServer: SQL statistika -> SQL rekompilacije/sek
- Sustav -> Duljina reda procesora
4.4 Postavljanje uvjeta zaustavljanja
Konfigurirajte uvjete zaustavljanja kako biste spriječili neograničen rast podataka:
- Nakon što stvorite skup za prikupljanje podataka, kliknite ga desnom tipkom miša i odaberite Nekretnine
- kliknite Stanje zaustavljanja kartica
- Omogući Ukupno trajanje
- Postavi trajanje na 1 dan (24 sata)
- Kliknite OK spasiti
To osigurava da zapisnik ne postane prevelik i da se automatski ponovno generira.tarts ako je zakazano.
4.5 Raspoređivanje prikupljanja podataka
Automatizirajte prikupljanje podataka kako biste osigurali dosljedno praćenje:
- Desnom tipkom miša kliknite svoj skup za prikupljanje podataka i odaberite Nekretnine
- kliknite raspored kartica
- Kliknite dodati za izradu novog rasporeda
- Konfigurirajte stardatum i vrijeme
- Postavite obrazac ponavljanja (npr. svakodnevno)
- Kliknite OK za spremanje rasporeda
Za automatsketartup, konfigurirajte skup skupa skupa podataka na start kada se poslužitelj pokrene stvaranjem kaotartup okidač u Windows Planeru zadataka.
5. Postavljanje monitora performansi za SQL Server(Windows XP / Server 2003 i stariji)
Za Windows XP / Server 2003 i starije verzije možete stvoriti zapisnike brojača koji vam omogućuju odabir skupa brojača performansi i njihovo periodično zapisivanje u datoteku.
5.1 Izrada zapisnika brojača
Slijedite ove korake za izradu novog zapisnika brojača:
- Otvorite Monitor performansi
- Proširiti Izvedbeni Evidencije i upozorenja u lijevom oknu
- Desnom tipkom miša Zapisnici brojača
- odabrati Nove postavke zapisnika
- Nazovite zapisnik imenom vašeg poslužitelja baze podataka (npr. „ProductionSQL01“)
- Kliknite OK za početak konfiguracije
Izrada zasebnih zapisnika brojača za svaki poslužitelj omogućuje vam testiranje performansi na pojedinačnim poslužiteljima bez istovremenog prikupljanja podataka za sve poslužitelje.
5.2 Dodavanje brojača performansi
Nakon što stvorite zapisnik brojača, dodajte specifične brojače performansi koje želite pratiti:
- kliknite Dodaj brojače dugme
- Promijenite naziv računala tako da ukazuje na vaše SQL Server primjer
- Press Tabulator za učitavanje dostupnih objekata performansi
- Odaberite objekt performansi iz padajućeg izbornika (npr. memorija)
- Odaberite određene brojače iz popis
- Odaberite instance ako je primjenjivocable (npr. pojedinačni procesori ili diskovi)
- Kliknite dodati uključiti brojač
- Ponovite za sve željene brojače
- Kliknite Zatvori kada završi
5.3 Konfiguriranje intervala uzorkovanja
Interval uzorkovanja određuje koliko često Performance Monitor prikuplja podatke. Konfigurirajte odgovarajuće intervale na temelju vaših potreba praćenja:
- U svojstvima zapisnika brojača pronađite Uzorak podataka svakih
- Postavite interval (zadano je 15 sekundi)
- Za praćenje početnih vrijednosti, koristite intervale od 1 minute za dnevno prikupljanje
- Za rješavanje problema koristite intervale od 15-30 sekundi za kratke rafale
- Kliknite OK primjeniti
Imajte na umu da manji intervali generiraju više podataka, koje je teže prikazati i analizirati. Veći intervali mogu propustiti važne skokove. Uravnotežite granularnost podataka sa zahtjevima za pohranu i analizu.
5.4 Konfiguriranje datoteka zapisnika
Ispravna konfiguracija datoteke zapisnika osigurava učinkovito i pristupačno pohranjivanje podataka:
- kliknite Log Files kartica u svojstvima zapisnika brojača
- Promijeni vrstu datoteke zapisnika u Tekstualna datoteka (razdvojena zarezom) za jednostavan uvoz iz Excela
- Kliknite konfigurirati
- Postavite putanju datoteke na namjensku lokaciju (npr. dijeljenu mapu PerformanceLogs)
- Kliknite OK potvrditi
Koristite mrežno dostupno dijeljenje za pohranu zapisnika kako biste mogli daljinski pristupiti datotekama i dijeliti ih s drugim korisnicima.
5.5 Postavljanje vjerodajnica
Konfigurirajte odgovarajuće vjerodajnice kako bi Monitor performansi mogao pristupiti udaljenom SQL Server instance:
- U svojstvima zapisnika brojača pronađite Trčati kao
- Unesite korisničko ime svoje domene u formatu: DOMENA\korisničko ime
- Kliknite Postavi lozinku
- Unesite i potvrdite svoju lozinku
- Kliknite OK spasiti
To omogućuje PerfMon usluzi prikupljanje statistike koristeći dozvole vaše domene umjesto vlastitih vjerodajnica.
6. Analiza podataka monitora performansi
6.1 Pregledavanje datoteka zapisnika u Monitoru performansi
Monitor performansi može prikazati povijesne podatke iz spremljenih datoteka zapisnika:
- Otvorite Monitor performansi
- U lijevom oknu kliknite Alati za nadzor -> Performance Monitor.
- Desni klik bilo gdje u području grafa
- odabrati Nekretnine
- kliknite izvor kartica
- odabrati Dnevnik datoteka Radio gumb
- Kliknite dodati
- Idite do datoteke zapisnika (.blg ili .csv)
- Odaberite datoteku i kliknite Otvoren
- Koristite Vremenski raspon klizač za odabir razdoblja koje želite analizirati
- Kliknite OK za zatvaranje dijaloga Svojstva
- Kliknite zelenu ikonu plusa za dodavanje brojača iz datoteke zapisnika
- Odaberite željene brojače za prikaz
- Kliknite OK
Grafikon će sada prikazivati povijesne podatke iz datoteke zapisnika. Pomoću klizača Vremenski raspon u Svojstvima suzite određena vremenska razdoblja za detaljnu analizu.
6.2 Izvoz podataka u Excel
Excel pruža moćne mogućnosti analize za podatke brojača performansi:
- Otvorite Monitor performansi s učitanom datotekom zapisnika
- Desni klik bilo gdje u području grafa
- odabrati Spremi podatke kao
- Odaberite lokaciju za datoteku
- odabrati Tekstualna datoteka (razdvojena zarezom) (.csv) s padajućeg izbornika
- Kliknite UŠTEDI
- Otvorite CSV datoteku u Excelu
Formatirajte izvezene podatke za bolju analizu:
- Izbrišite poluprazan redak 2 i očistite ćeliju A1
- Formatirajte stupac A kao datum/vrijeme
- Formatirajte numeričke stupce s nula decimalnih mjesta i razdjelnikom tisućica
- Pronađi i zamijeni nazive poslužitelja u zaglavljima (npr. zamijeni "\\NAMEPOSLUŽITELJA" praznim poljem)
- Očistite nazive objekata u zaglavljima (npr. "Memorija", "Fizički disk", "Procesor")
- Smanjite veličinu fonta zaglavlja na 8 bodova radi bolje vidljivosti
6.3 Tumačenje vrijednosti brojača
6.3.1 Analiza brojača memorije
Prilikom analize brojača memorije obratite pozornost na ove pokazatelje:
- Dostupni MB: Trebao bi stalno ostati iznad 4096 MB
- Očekivano trajanje stranice: Vrijednosti iznad 300 sekundi ukazuju na zdravo pamćenje. Niže vrijednosti ukazuju na pritisak pamćenja.
- Omjer pogodaka predmemorije međuspremnika: Trebalo bi dostići ili premašiti 99%. Niže vrijednosti označavaju prekomjerno čitanje diska
- Dodjele memorije na čekanju: Uvijek bi trebao biti 0. Bilo koja pozitivna vrijednost označava memorijutarvation
6.3.2 Analiza brojača CPU-a
Pokazatelji performansi CPU-a uključuju:
- % Vrijeme procesora: Dugotrajna upotreba iznad 75% ukazuje na probleme s performansama. Skokovi do 100% su normalni, ali ne bi trebali potrajati.
- Duljina reda procesora: Vrijednosti iznad 1 označavaju opterećenje CPU-a. Provjerite Upravitelj zadataka kako biste utvrdili koji procesi troše CPU.
- % Privilegirano vrijeme: Trebao bi ostati između 5-10%. Vrijednosti iznad 25% ukazuju na prekomjeran broj I/O operacija.
6.3.3 Analiza brojača diska
Pragovi performansi diska:
- Prosječno vrijeme na disku (s)/čitanje i pisanje: Trebalo bi ostati ispod 10-20 ms. Veće vrijednosti ukazuju na spore podsustave diska.
- Duljina reda diska: Vrijednosti koje su stalno iznad 2 (ili 2 po disku u RAID-u) ukazuju na uska grla u ulazno/izlaznim operacijama.
- % Vrijeme diska: Trajne vrijednosti iznad 85% ukazuju na zasićenost diska
6.4 Korištenje formula i statistike
Dodajte statističke formule u Excel za brzu analizu:
- Umetnite 7 praznih redaka na vrh proračunske tablice
- Dodajte oznake u stupac A: Prosjek, Medijan, Min, Maks, Standardno odstupanje
- U ćeliju B2 unesite: =AVERAGE(B9:B100) (prilagodite B100 na zadnji redak s podacima)
- U ćeliju B3 unesite: =MEDIAN(B9:B100)
- U ćeliju B4 unesite: =MIN(B9:B100)
- U ćeliju B5 unesite: =MAX(B9:B100)
- U ćeliju B6 unesite: =STDEV(B9:B100)
- Kopiraj formule u sve stupce brojača
- Označite ćeliju B9 i pritisnite Alt+W+F+Enter za zamrzavanje okna
Ove statistike pomažu u prepoznavanju trendova, odstupanja i normalnih operativnih raspona za svaki brojač.
7. Alat za analizu performansi za zapisnike (PAL)
7.1 Uvod u PAL
Analiza performansi za zapisnike (PAL) je besplatni alat koji je razvio Clint Huffman, a koji analizira zapisnike Monitora performansi i generira HTML izvješća s analizom pragova. PAL uspoređuje vaše podatke o performansama s poznatim pragovima i pruža detaljne preporuke za SQL Server optimizacija performansi.
Preuzmite PAL iz GitHub repozitorija: https://github.com/clinthuffman/PAL
7.2 Postavljanje PAL-a
Instalirajte PAL slijedeći ove korake:
- Preuzmite PAL instalacijsku datoteku s GitHuba
- Pokrenite instalacijski program
- Kliknite Sljedeći na početnom zaslonu
- Pregledajte i prihvatite instalacijski direktorij
- Kliknite Sljedeći nastaviti
- Kliknite Instalirati za početak instalacije
- Pričekajte da se instalacija dovrši
- Kliknite završiti
7.3 Obrada datoteka zapisnika s PAL-om
Analizirajte zapisnike Performance Monitora pomoću PAL-a:
- Pokreni PAL s S-atart izbornik ili instalacijski direktorij
- kliknite Zapisnik brojača kartica
- Kliknite Pretraga za odabir vaše .blg datoteke
- Idite do datoteke zapisnika vašeg Monitora performansi
- Kliknite Otvoren
- kliknite Datoteka praga kartica
- Odaberite datoteku praga iz padajućeg izbornika (npr. "SQL Server 2016” )
- kliknite Pitanja kartica
- Odgovorite na pitanja o konfiguraciji vašeg sustava
- Navedite je li vaš SQL Server je OLTP ili skladište podataka
- Unesite ukupnu dostupnu RAM memoriju
- kliknite Izlazne opcije kartica
- Odaberite izlazni direktorij za HTML izvješće
- Provjeriti HTML izlazni format
- kliknite Izvršiti kartica
- Pregledajte svoje odabire
- Provjeriti Starizvršenje sada
- Kliknite završiti
7.4 Analiza PAL izvješća
Nakon što PAL završi analizu, generira HTML izvješće koje sadrži:
- Sažetak problema s performansama
- Detaljna analiza brojača s grafikonima
- Prekoračenja praga istaknuta su bojom
- Specifične preporuke za svaki problem
- Povijesni trendovi i obrasci
Izvješće koristi kodiranje bojama za označavanje ozbiljnosti: crvena za kritične probleme, žuta za upozorenja i zelena za ispravne metrike. Pregledajte svaki odjeljak kako biste razumjeli uska grla u performansama i slijedite PAL-ove preporuke za optimizaciju.
8. Alternativa SQL Server Alati za nadzor
8.1 Ugrađeni SQL Server Alati
8.1.1 SQL Server Aktivnost Monitor
SQL Server Aktivnost Monitor prikazuje informacije u stvarnom vremenu o SQL Server procesi i performanse:
- Otvoren SQL Server Management Studio (SSMS) i povezivanje s instancom vašeg poslužitelja
- Desnom tipkom miša kliknite naziv poslužitelja u Object Exploreru
- odabrati Aktivnost Monitor
Monitor aktivnosti prikazuje procese, čekanja resursa, ulazno/izlazne operacije datoteka i nedavne skupe upite. Pruža brz uvid u trenutnu aktivnost baze podataka, ali ne pohranjuje povijesne podatke.
8.1.2 SQL Server Nadzorna ploča performansi
SQL Server Management Studio uključuje ugrađena izvješća o performansama:
- In SQL Server Management Studio (SSMS), desnom tipkom miša kliknite SQL Server instanca u Object Exploreru
- odabrati Izvješća -> Standardna izvješća
- Odaberite između dostupnih izvješća kao što su Nadzorna ploča performansi
Nadzorna ploča performansi pruža vizualni uvid u SQL Server performanse instance, uključujući iskorištenost CPU-a sustava, trenutne zahtjeve na čekanju i metrike performansi. Pristupite im putem izbornika Standardna izvješća.
8.1.3 SQL Server Profiler
SQL Server Profiler hvata i analizira SQL Server događaji kao što su izvršavanje upita, transakcijske operacije i aktivnosti prijave.
Za start SQL Server profiler:
- In SQL Server Management Studio, kliknite Alati -> SQL Server Profiler
Profiler stvara značajno opterećenje performansi, stoga ga koristite razborito i po mogućnosti izvan vršnih sati. Za most scenariji, prošireni događaji pružaju bolje performanse s manjim utjecajem.
8.1.4 Prošireni događaji
Prošireni događaji je lagani sustav za praćenje performansi ugrađen u SQL Server. Zamjenjuje SQL Server Profiler s boljim performansama i nižim troškovima.
Ključne značajke uključuju:
- Detaljno praćenje specifičnih događaja
- Minimalni utjecaj na performanse
- Prilagodljive sesije događaja
- Integracija sa SSMS-om i drugim alatima
- Podrška za složeno filtriranje i agregaciju
Stvaranje proširenih sesija događaja putem SSMS-a:
- In Istraživač objekata, proširite svoj poslužitelj i idite na Upravljanje -> Prošireni događaji -> Sesije
- Desnom tipkom miša kliknite sjednice I odaberite Čarobnjak za novu sesiju
- Slijedite upute za starnova sesija.
8.1.5 Dinamički upravljački prikazi (DMV)
DMV-ovi otkrivaju detaljne informacije o stanju poslužitelja za praćenje zdravlja, dijagnosticiranje problema i podešavanje performansi. Ključni DMV-ovi uključuju:
- sys.dm_exec_query_stats: Statistika performansi upita
- sys.dm_os_wait_stats: Vrste čekanja koje utječu na performanse poslužitelja
- sys.dm_os_performance_counters: SQL Server podaci brojača performansi
- sys.dm_exec_requests: Trenutno izvršavaju zahtjeve
- sys.dm_exec_sessions: Aktivne korisničke sesije
Pošaljite upite za ove prikaze pomoću T-SQL-a kako biste pristupili podacima o performansama u stvarnom vremenu i povijesnim metrikama.
Osnovna upotreba
-- See all active connections
SELECT * FROM sys.dm_exec_connections;
-- View current sessions
SELECT * FROM sys.dm_exec_sessions;
-- Check database file stats
SELECT * FROM sys.dm_io_virtual_file_stats(NULL, NULL);
8.2 Rješenja za nadzor trećih strana
Redgate SQL Monitor
Redgate SQL Monitor specijaliziran je za praćenje SQL Server i okruženja Azure SQL baze podataka. Pruža praćenje cijelog imanja, prilagodljiva upozorenja i nadzorne ploče, detaljne mogućnosti izvješćivanja i integraciju s drugim Redgate alatima.
SolarWinds SQL Server Alat za praćenje
SolarWinds SQL Server Alat za nadzor, također poznat kao SQL Sentry, dizajniran je za dijagnosticiranje, rješavanje i sprječavanje ozbiljnih problema s performansama SQL Server.
IDERA-e SQL Server Alat za praćenje performansi
IDERA SQL dijagnostikaostic Manager je moćan SQL Server alat za praćenje performansi dizajniran za pomoć pri proaktivnom praćenju performansi, dijagostika i podešavanje.
SQL nadzor upravitelja aplikacija
Applications Manager nudi Microsoft SQL Server Alat za praćenje koji pruža korisna IT rješenja. Osmišljen je za nadgledanje performansi SQL baza podataka, dok istovremeno identificira greške i rješava probleme koji bi mogli dovesti do zastoja u radu organizacije.
8.3 Alati za nadzor otvorenog koda
DBA Dash
DBA Dash je besplatni alat za praćenje otvorenog koda koji pruža uvid u SQL Server zdravlje, performanse i aktivnost. Posebno je koristan za mala i srednja okruženja i uključuje dnevne DBA provjere, praćenje performansi i praćenje konfiguracije.
SQLWATCH
SQLWATCH nudi decentralizirano, gotovo u stvarnom vremenu SQL Server praćenje s granularnošću od 5 sekundi za hvatanje skokova opterećenja. Podržava Grafanu za nadzorne ploče u stvarnom vremenu i Power BI za dubinsku analizu. Alat pruža opsežne mogućnosti konfiguracije, nulte zahtjeve za održavanjem i neograničenu skalabilnost.
Opserver
Razvijen od strane Stack Exchangea, Opserver prati više sustava, uključujući SQL Server, Redis i Elasticsearch. Pruža prikaz "svih poslužitelja" za statistiku CPU-a, memorije, mreže i hardvera u vašoj infrastrukturi.
sp_TkoJeAktivan
sp_WhoIsActive je sveobuhvatna pohranjena procedura za praćenje aktivnosti koju je stvorio Adam Machanic. Radi sa svim SQL Server verzije od 2005. do trenutnih izdanja i široko se koristi od strane SQL Server DBA-ovi za praćenje aktivnosti u stvarnom vremenu.
Za korištenje sp_WhoIsActive, preuzmite ga s http://whoisactive.com/, instalirajte ga u svoju bazu podataka i izvršite:
EXEC sp_WhoIsActive
Postupak prikazuje trenutno izvršavane upite, informacije o čekanju, detalje blokiranja i potrošnju resursa.
9. Najbolji primjeri iz prakse za SQL Server Performance Monitor
9.1 Utvrđivanje osnovnih vrijednosti performansi
Osnovne vrijednosti performansi uspostavljaju normalne operativne parametre za vaše SQL Server okruženje. Bez osnovnih vrijednosti ne možete utvrditi ukazuju li trenutne metrike na probleme ili predstavljaju tipično ponašanje.
Izradite osnovne linije pomoću:
- Prikupljanje podataka o performansama tijekom normalnog rada u trajanju od najmanje jednog tjedna
- Prikupljanje metrika tijekom vršnih i izvanvršnih sati
- Dokumentiranje tipičnih vrijednosti za brojače ključeva
- Bilježenje sezonskih varijacija ako je primjenjivocable
- Pohranjivanje osnovnih podataka za usporedbu s budućim metrikama
Ažurirajte osnovne vrijednosti tromjesečno ili nakon značajnih promjena infrastrukture, ažuriranja aplikacija ili izmjena baze podataka.
9.2 Postavljanje odgovarajućih pragova upozorenja
Konfigurirajte inteligentne pragove kako biste primali značajna upozorenja bez preopterećenja obavijestima:
- Memorijski grantovi na čekanju > 0 označava pritisak na memoriju
- Duljina reda čekanja procesora > 2 po jezgri ukazuje na usko grlo procesora
- Vrijeme čitanja ili pisanja na disku > 20 ms ukazuje na spor ulazno/izlazni signal
- Blokirani procesi > 5 signala problema s natjecanjem
- Očekivano trajanje stranice < 300 sekundi ukazuje na pritisak memorije
Prilagodite pragove na temelju osnovnih podataka i specifičnih karakteristika radnog opterećenja. Koristite prilagodljive pragove koji uzimaju u obzir normalne varijacije u vašem okruženju.
9.3 Redoviti pregled i analiza podataka
Zakažite redovite preglede učinka kako biste identificirali trendove i probleme koji se pojavljuju:
- Dnevno: Pregledajte opće metrike i nedavna upozorenja
- Tjedno: Provedite dubinsku analizu trendova performansi
- Mjesečno: Generirajte sveobuhvatna izvješća i uspoređujte ih s osnovnim vrijednostima
- Tromjesečno: Pregled planiranja kapaciteta i dugoročnih trendova
Dokumentirajte nalaze i pratite poboljšanja performansi tijekom vremena.
9.4 Troškovi praćenja uravnoteženja
Samo praćenje troši resurse, stoga uravnotežite prikupljanje podataka s utjecajem na performanse:
- Koristite intervale od 30-60 sekundi za kontinuirano praćenje
- Za aktivno rješavanje problema koristite samo intervale od 15 sekundi
- Ograničite trajanje skupa podataka za prikupljanje podataka kako biste izbjegli prekomjernu količinu podataka
- Pohrani zapisnike na zasebne diskove od datoteka baze podataka
- Arhivirajte stare podatke o performansama kako biste održali upravljive veličine datoteka
Monitor performansi dodaje minimalno opterećenje kada je pravilno konfiguriran, obično ispod 2% sistemskih resursa.
9.5 Dugoročno čuvanje podataka
Zadržite podatke o učinku za smislenu analizu trendova i planiranje kapaciteta:
- Čuvajte podatke o performansama za najmanje 1-2 godine
- Arhivirajte podatke u zasebnu pohranu nakon 3-6 mjeseci
- Komprimirajte starije datoteke zapisnika radi uštede prostora
- Dokumentirajte sve značajne događaje ili promjene koje utječu na performanse
S obzirom na relativno malu veličinu podataka brojača performansi, njihovo neograničeno čuvanje često je izvedivo i vrijedno za dugoročnu analizu.
9.6 Integracija s DevOps praksama
Uključite praćenje performansi baze podataka u CI/CD cjevovode:
- Uključite metrike performansi baze podataka u validaciju implementacije
- Automatizirajte testiranje performansi za nova izdanja
- Provjerite da promjene koda ne utječu negativno na performanse
- Izradite mjerila performansi za svako izdanje
- Integrirajte upozorenja o nadzoru sa sustavima za upravljanje incidentima
10. Rješavanje uobičajenih problema s performansama
10.1 Identificiranje uskih grla CPU-a
Uska grla CPU-a manifestiraju se kao sporo vrijeme odgovora na upite i visoka iskorištenost procesora. Pomoću ovih koraka dijagnosticirajte probleme s CPU-om:
- Provjerite brojač duljine reda čekanja procesora. Vrijednosti iznad 2 po jezgri ukazuju na opterećenje procesora.
- Pregledajte postotak procesorskog vremena. Trajne vrijednosti iznad 75% ukazuju na usko grlo procesora.
- Udaljena radna površina za SQL Server
- Otvori Upravitelj zadataka (Ctrl+Shift+Esc)
- kliknite Procesira kartica
- Provjeriti Prikaži procese svih korisnika
- kliknite CPU zaglavlje stupca za sortiranje prema korištenju CPU-a
- Identificirajte koji procesi troše CPU resurse
Ako ne-SQL Server Aplikacije troše značajno CPU, uklonite ih s poslužitelja baze podataka. Ako sqlservr.exe koristi puno CPU-a, istražite to pomoću ovih metoda:
- Provjerite SQL kompilacije/sek i SQL ponovne kompilacije/sek. Vrijednosti iznad 10% zahtjeva za paketima/sek ukazuju na prekomjernu kompilaciju.
- Upit sys.dm_exec_query_stats za identifikaciju upita koji intenzivno koriste CPU
- Pregledajte planove izvršenja za nedostajuće indekse ili neučinkovite operacije
- Razmislite o dodavanju indeksa kako biste smanjili skeniranje tablica
10.2 Dijagnosticiranje problema s pamćenjem
Problemi s pamćenjem značajno utječu SQL Server performanse. Dijagnosticirajte probleme s pamćenjem pomoću ovih pokazatelja:
Dostupne kapi memorije
Ako dostupni MB-ovi stalno padaju ispod 100 MB, operativni sustav se suočava s nedostatkom memorije.tarvacija. Windows se može pomicati prema van SQL Server memorije na disk, što uzrokuje smanjenje performansi.
Nizak očekivani životni vijek stranice
Očekivano trajanje stranice ispod 300 sekundi ukazuje na visoku fluktuaciju predmemorije međuspremnika. To ukazuje na nedovoljnu alokaciju memorije ili prekomjerni pritisak na memoriju od upita.
Nizak omjer pogodaka predmemorije međuspremnika
Omjer pogodaka predmemorije međuspremnika ispod 99% znači SQL Server često čita podatke s diska umjesto s memorije. To se događa kada je međuspremnik premalen ili SQL Server još se zagrijava nakon restart.
Dodjela memorije na čekanju
Bilo koja vrijednost iznad 0 za Memory Grants Pending (Dodjele memorije na čekanju) označava da upiti čekaju dodjele memorije. To predstavlja kritičan nedostatak memorije koji zahtijeva hitnu pozornost.
Za rješavanje problema s memorijom:
- konfigurirati SQL Server postavka maksimalne memorije kako bi se ostavilo dovoljno RAM-a za operativni sustav (obično 4-8 GB ovisno o veličini poslužitelja)
- Omogućite dopuštenje "Zaključaj stranice u memoriji" za SQL Server račun usluge
- Dodajte više fizičke RAM memorije poslužitelju ako pritisak na memoriju i dalje postoji
- Identificirajte i optimizirajte upite koji intenzivno koriste memoriju
10.3 Rješavanje problema s ulazno/izlaznim operacijama diska
Ulazno/izlazni operacijski sustav diska često postaje glavno usko grlo performansi u sustavima baza podataka. Dijagnosticirajte probleme s diskom pomoću ovih metoda:
Velika duljina reda diska
Duljina reda diska stalno iznad 2 (ili 2 po disku za RAID) ukazuje na to da podsustav diska ne može pratiti I/O zahtjeve. To stvara zaostatak u operacijama na čekanju.
Prekomjerna latencija diska
Vrijednosti prosječnog vremena diska u sekundama/čitanje i prosječnog vremena diska u sekundama/pisanje iznad 10-20 ms ukazuju na spor odziv diska. Pogoni zapisnika transakcija zahtijevaju posebno brze performanse, idealno ispod 5 ms za pisanje.
Visok % vremena diska
Trajni % vremena diska iznad 85% ukazuje na zasićenost diska. Disk troši most svog vremena obrađujući I/O zahtjeve s malo preostalog slobodnog kapaciteta.
Prije rješavanja problema s diskom, provjerite jesu li to simptomi problema s memorijom. Nedovoljno memorije SQL Server čitati više podataka s diska, umjetno napuhujući metrike diska.
Za rješavanje problema s ulazno/izlaznim sustavima originalnog diska:
- Nadogradite na brže diskove (SSD-ove umjesto HDD-ova)
- Implementirajte RAID konfiguracije za bolje performanse
- Odvojite datoteke baze podataka, zapisnike transakcija i tempdb na različite fizičke diskove
- Dodajte više memorije kako biste smanjili čitanje diska
- Optimizirajte indekse kako biste smanjili nepotrebne ulazno/izlazne operacije
- Pregledajte i optimizirajte upite s lošim rezultatima
10.4 Rješavanje blokiranja i zastoja
Do blokiranja dolazi kada jedna sesija ima zaključane dijelove koji sprječavaju nastavak drugih sesija. Pratite ove brojače kako biste identificirali probleme s blokiranjem:
- Blokirani procesi: Idealno bi trebalo biti 0
- Čekanja zaključavanja/sekunda: Broj zahtjeva za zaključavanje koji zahtijevaju čekanje
- Prosječno vrijeme čekanja: Prosječno trajanje čekanja zaključavanja
Za istraživanje blokiranja:
- Otvorite Monitor aktivnosti u SSMS-u
- Povećaj Procesira odjeljak
- Tražite procese s vrijednostima različitim od nule Blokirao/la vrijednosti
- Identificirajte ID blokirajuće sesije
- Pregledajte upite koji uzrokuju blokiranje
Za detaljniju analizu blokiranja koristite sp_WhoIsActive. Prekomjerni unosi wait_info često ukazuju na sukob tempdb-a ili probleme s blokiranjem.
Za smanjenje blokiranja:
- Minimizirajte trajanje transakcije
- Koristite odgovarajuće razine izolacije
- Dodajte indekse za smanjenje trajanja zaključavanja
- Razmotrite izolaciju READ_COMMITTED_SNAPSHOT
- Pregledajte i optimizirajte dugotrajne upite
10.5 Problemi s performansama upita
Identificiranje skupih upita ključno je za praćenje performansi SQL-a. Koristite ove metode za pronalaženje problematičnih upita:
Korištenje Monitora aktivnosti
- U SSMS-u desnom tipkom miša kliknite naziv poslužitelja
- odabrati Aktivnost Monitor
- Proširiti Nedavni skupi upiti
- Pregledajte upite s visokim CPU-om, trajanjem ili logičkim čitanjima
Korištenje DMV-ova
Upit sys.dm_exec_query_stats za identifikaciju upita koji intenzivno koriste resurse:
SELECT TOP 50
total_worker_time/execution_count AS avg_cpu_time,
total_logical_reads/execution_count AS avg_logical_reads,
execution_count,
SUBSTRING(qt.text, (qs.statement_start_offset/2)+1,
((CASE qs.statement_end_offset
WHEN -1 THEN DATALENGTH(qt.text)
ELSE qs.statement_end_offset
END - qs.statement_start_offset)/2) + 1) AS query_text
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
ORDER BY total_worker_time DESC
Analiza planova izvršenja
- U SSMS-u otvorite novi prozor za upit
- Kliknite Prikaži procijenjeni plan izvršenja (Ctrl+L) ili Uključite stvarni plan izvršenja (Ctrl+M)
- Izvršite svoj upit
- Pregledajte plan izvršenja za skupe operacije
- Potražite skeniranje tablica, skeniranje indeksa ili high-cost operacije
Optimizirajte upite prema:
- Dodavanje odgovarajućih indeksa
- Prepisivanje upita radi izbjegavanja skupih operacija
- Ažuriranje statistike
- Korištenje specifičnih naziva stupaca umjesto SELECT *
- Izbjegavanje nepotrebnih DISTINCT ili ORDER BY klauzula
10.6 Otkrivanje i ispravljanje oštećene baze podataka
Oštećenje baze podataka može uzrokovati smanjenje performansi, gubitak podataka i kvarove sustava. Brzo otkrivanje i rješavanje oštećenja ključno je za održavanje zdravlja baze podataka.
Pokazatelji oštećenja baze podataka
Obratite pažnju na ove znakove potencijalne korupcije:
- Poruke o pogreškama u SQL Server zapisnik pogrešaka (pogreška 823, 824 ili 825)
- Neočekivane pogreške aplikacije prilikom pristupa određenim tablicama
- Sporo izvođenje upita na prethodno brzim upitima
- SQL Server rušenja ili neočekivane rezolucijetarts
- Sumnjive stranice koje se pojavljuju u tablici msdb.dbo.suspect_pages
Korištenje DBCC CHECKDB za detekciju
DBCC CHECKDB je primarni alat za otkrivanje oštećenja baze podataka. Redovito ga pokrećite kako biste probleme otkrili u ranoj fazi.
Praćenje sumnjivih stranica
SQL Server automatski bilježi sumnjive stranice u msdb bazu podataka:
SELECT
database_id,
file_id,
page_id,
event_type,
error_count,
last_update_date
FROM msdb.dbo.suspect_pages
WHERE event_type IN (1,2,3)
Svi vraćeni retci ukazuju na probleme s korupcijom koji zahtijevaju hitnu pozornost.
Strategije za sprječavanje korupcije
- Omogući provjeru stranice s opcijom CHECKSUM
- Redovito održavajte sigurnosne kopije baze podataka
- Koristite pouzdan hardver s ispravljanjem pogrešaka
- Praćenje stanja diska pomoću alata proizvođača
- Zakažite redovita izvršavanja DBCC CHECKDB-a
- Zadržati SQL Server ažurirano s najnovijim zakrpama
Mogućnosti oporavka i popravka
Ako se otkriju greške, možete isprobati ugrađeni alat DBCC CHECKDB da ih popravite. Ako ne uspije, upotrijebite alate trećih strana kao što su DataNumen SQL Recovery koji se može nositi s teškim korupcijama.
11. Napredne tehnike praćenja
11.1 Nadzor pohrane upita
Query Store, predstavljen u SQL Server 2016. automatski bilježi podatke o performansama upita. Pruža vrijedne uvide u ponašanje upita, planove izvršenja i trendove performansi.
Omogućavanje pohrane upita
- U SSMS Object Exploreru desnom tipkom miša kliknite bazu podataka
- odabrati Nekretnine
- kliknite Trgovina upita stranica
- In Način rada (zahtijevano), Izaberi Čitaj Napiši
- Konfigurirajte dodatne postavke po potrebi
- Kliknite OK
Praćenje performansi upita
Pristup izvješćima Query Storea putem Object Explorera:
- Proširite bazu podataka u Object Exploreru
- Proširiti Trgovina upita
- Odaberite između dostupnih izvješća:
- Regresirani upiti
- Ukupna potrošnja resursa
- Najčešći upiti koji troše resurse
- Upiti s prisilnim planovima
- Praćeni upiti
Detekcija regresije plana
Spremnik upita automatski otkriva kada se planovi izvršavanja upita promijene i performanse se smanje. Pregledajte izvješće o regresiranim upitima kako biste identificirali upite na koje utječu promjene plana.
Upravljanje prisilnim planom
Kada Query Store identificira bolji plan izvršenja, prisilno SQL Server da ga koristite:
- Otvorite upit u trgovini upita
- Desnim klikom miša kliknite željeni plan
- odabrati Plan snaga
To odmah poboljšava performanse bez potrebe za promjenama koda.
11.2 Praćenje održavanja indeksa
Fragmentacija indeksa s vremenom smanjuje performanse upita. Redovito pratite i održavajte indekse kako biste osigurali optimalne performanse.
Provjera fragmentacije
Koristite ovaj upit za provjeru fragmentacije indeksa:
SELECT
OBJECT_NAME(i.object_id) AS table_name,
i.name AS index_name,
ps.avg_fragmentation_in_percent,
ps.page_count
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'SAMPLED') ps
INNER JOIN sys.indexes i ON ps.object_id = i.object_id
AND ps.index_id = i.index_id
WHERE ps.avg_fragmentation_in_percent > 10
AND ps.page_count > 1000
ORDER BY ps.avg_fragmentation_in_percent DESC
Pokrenite ovaj upit izvan vršnih sati jer može zahtijevati puno resursa.
Analiza gustoće stranica
Gustoća stranica pokazuje koliko su indeksirane stranice pune. Niska gustoća rasipa prostor i smanjuje performanse:
SELECT
OBJECT_NAME(i.object_id) AS table_name,
i.name AS index_name,
ps.avg_page_space_used_in_percent
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'SAMPLED') ps
INNER JOIN sys.indexes i ON ps.object_id = i.object_id
AND ps.index_id = i.index_id
WHERE ps.avg_page_space_used_in_percent < 75
Odluke o reorganizaciji u odnosu na obnovu
Odaberite operacije održavanja indeksa na temelju razina fragmentacije:
- Fragmentacija 10-30%: Koristite ALTER INDEX REORGANIZE
- Fragmentacija > 30%: Koristite ALTER INDEX REBUILD
- Fragmentacija < 10%: Nije potrebna nikakva akcija
Operacije reorganizacije zahtijevaju manje resursa i mogu se izvoditi online. Operacije ponovne izgradnje su temeljitije, ali troše značajne resurse.
11.3 Ažuriranja statistike baze podataka
Pomoć za statistiku baze podataka SQL ServerOptimizator upita stvara učinkovite planove izvršenja. Zastarjela statistika dovodi do loših performansi upita.
Automatska obnova statistike
Omogući automatska ažuriranja statistike:
ALTER DATABASE DatabaseName SET AUTO_UPDATE_STATISTICS ON ALTER DATABASE DatabaseName SET AUTO_CREATE_STATISTICS ON
Praćenje statistike zdravlja
Provjerite kada su statistike zadnji put ažurirane:
SELECT
OBJECT_NAME(s.object_id) AS TableName,
s.name AS StatisticsName,
STATS_DATE(s.object_id, s.stats_id) AS LastUpdated,
sp.rows,
sp.modification_counter
FROM sys.stats s
CROSS APPLY sys.dm_db_stats_properties(s.object_id, s.stats_id) sp
WHERE STATS_DATE(s.object_id, s.stats_id) < DATEADD(DAY, -7, GETDATE())
ORDER BY LastUpdated
Ručno ažurirajte statistiku kada je potrebno:
UPDATE STATISTICS TableName WITH FULLSCAN
11.4 Prikupljanje prilagođenih podataka o performansama
Izradite prilagođena rješenja za praćenje performansi izravnim upitom sys.dm_os_performance_counters i pohranjivanjem rezultata u tablice.
Izrada prilagođenih skripti za kolekcije
Izgradite pohranjenu proceduru za prikupljanje podataka brojača performansi:
CREATE PROCEDURE dbo.CollectPerformanceCounters
AS
BEGIN
INSERT INTO dbo.PerformanceHistory (
SampleTime,
CounterName,
CounterValue
)
SELECT
GETDATE(),
counter_name,
cntr_value
FROM sys.dm_os_performance_counters
WHERE counter_name IN (
'Page life expectancy',
'Batch Requests/sec',
'Buffer cache hit ratio'
)
END
Korištenje sys.dm_os_performance_counters
Izravno upitajte brojače performansi:
SELECT
object_name,
counter_name,
instance_name,
cntr_value,
cntr_type
FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Buffer Manager%'
ORDER BY counter_name
Pohranjivanje povijesnih podataka
Izradite tablicu za pohranjivanje metrika performansi tijekom vremena:
CREATE TABLE dbo.PerformanceHistory (
ID INT IDENTITY PRIMARY KEY,
SampleTime DATETIME2 NOT NULL,
PageLifeExpectancy BIGINT,
BatchRequestsPerSec DECIMAL(18,4),
BufferCacheHitRatio DECIMAL(5,2)
)
CREATE CLUSTERED COLUMNSTORE INDEX CCI_PerformanceHistory
ON dbo.PerformanceHistory
Metode pohrane pivotiranih podataka
Pohranite podatke u pivotiranom formatu s jednim retkom po vremenu uzorka i jednim stupcem po brojaču. To smanjuje prostor za pohranu i poboljšava performanse upita u usporedbi s pohranjivanjem jednog retka po brojaču po uzorku.
11.5 Nadzor više poslužitelja
Za okruženja s više SQL Server instance, implementirajte centralizirani nadzor.
Centralizirani pristup nadzoru
- Izradite namjensku bazu podataka za praćenje na zasebnom poslužitelju
- Prikupljajte podatke sa svih servera u centralno spremište
- Koristiti SQL Server Poslovi agenta za pokretanje skripti za prikupljanje
- Implementirajte prikupljanje brojača performansi dostupnih putem mreže
Udaljeni nadzor poslužitelja
Konfigurirajte Monitor performansi za prikupljanje podataka s udaljenih poslužitelja navođenjem naziva poslužitelja prilikom dodavanja brojača. Osigurajte da pravila vatrozida dopuštaju promet Monitora performansi.
Izvještavanje na više poslužitelja
Izradite izvješća koja uspoređuju performanse na više poslužitelja kako biste identificirali odstupanja i neravnoteže kapaciteta.
12. nadgledanje SQL Server u okruženjima u oblaku
12.1 Nadzor Azure SQL baze podataka
Azure SQL baza podataka pruža ugrađene mogućnosti praćenja koje se razlikuju od lokalnih rješenja. SQL Server.
Integracija Azure Monitora
Azure Monitor automatski prikuplja metrike iz Azure SQL baze podataka, uključujući:
- Iskorištenost DTU-a ili vCore-a
- Korištenje prostora za pohranu
- Statistika veza
- Zastoji i vremenska ograničenja
Pristupite ovim metrikama putem Azure Portala ili Azure Monitor API-ja.
Ugrađene značajke praćenja
Azure SQL baza podataka uključuje:
- Preporuke za automatsko podešavanje
- Uvid u performanse upita
- Inteligentni uvidi za otkrivanje anomalija
- Ugrađena upozorenja i dijagnostikaostics
Uvid u performanse upita
Ova značajka pruža vizualizaciju upita koji najviše troše resurse, analizu trajanja upita i povijesne trendove performansi. Pristupite joj putem Azure portala u okviru resursa vaše SQL baze podataka.
12.2 Alati za nadzor u oblaku
Platforme u oblaku nude izvorna rješenja za nadzor optimizirana za njihova okruženja:
- Azure Monitor i Application Insights za Azure SQL bazu podataka
- AWS CloudWatch za RDS SQL Server
- Google Cloud Monitoring za Cloud SQL Server
Ovi alati se besprijekorno integriraju s cloud infrastrukturom i pružaju objedinjeno praćenje svih cloud resursa.
Praćenje hibridnog okruženja
Za hibridne implementacije koje obuhvaćaju lokalnu primjenu i primjenu u oblaku, koristite alate koji podržavaju oba okruženja poput Redgate SQL Monitora, SolarWinds DPA ili prilagođena rješenja koja koriste centralizirano prikupljanje podataka.
12.3 Razlike u performansama u oblaku
oblak SQL Server okruženja imaju jedinstvene karakteristike:
Modeli raspodjele resursa
Pružatelji usluga u oblaku koriste različite metode dodjele resursa (DTU-ove, vCores, serverless) koje utječu na to kako interpretirate metrike performansi. Razumite ograničenja i karakteristike svoje razine usluge.
Razmatranja skaliranja
Oblačna okruženja nude mogućnosti dinamičkog skaliranja. Pratite iskorištenost resursa kako biste odredili kada treba povećati ili smanjiti skaliranje. Mnoge oblačne platforme pružaju automatsko skaliranje na temelju pragova performansi.
13. Automatizacija praćenja performansi
13.1 SQL Server Poslovi agenta
Automatizirajte prikupljanje podataka pomoću SQL Server Poslovi agenta za dosljedno praćenje bez ručne intervencije.
Planirano prikupljanje podataka
- U SSMS-u proširite SQL Server Agent
- Desnom tipkom miša Posao i odaberite Novi posao
- Navedite naziv posla (npr. „Prikupljanje metrika performansi“)
- Kliknite Koraci i dodajte novi korak
- Postavi vrstu na Transact-SQL skripta
- Unesite skriptu za prikupljanje podataka
- Kliknite Raspored i dodajte raspored
- Konfigurirajte učestalost (npr. svakih 5 minuta)
- Kliknite OK stvoriti posao
Automatsko izvještavanje
Izradite poslove koji generiraju izvješća o učinku i šalju ih e-poštom:
- Izradite pohranjenu proceduru koja generira izvješća
- Korištenje Database Maila za slanje izvješća putem e-pošte
- Zakažite posao da se izvršava svakodnevno ili tjedno
13.2 PowerShell automatizacija
PowerShell pruža moćne mogućnosti automatizacije za SQL Server monitor performansi.
Skripte za prikupljanje brojača performansi
$counters = @(
'\Processor(_Total)\% Processor Time',
'\Memory\Available MBytes',
'\PhysicalDisk(_Total)\Avg. Disk sec/Read'
)
$data = Get-Counter -Counter $counters -ComputerName 'SQLServer01'
$data.CounterSamples | Export-Csv 'C:\PerfLogs\counters.csv' -Append
WMI upiti
Koristite WMI za prikupljanje podataka o performansama s udaljenih poslužitelja:
$cpu = Get-WmiObject Win32_Processor -ComputerName 'SQLServer01' $memory = Get-WmiObject Win32_OperatingSystem -ComputerName 'SQLServer01' Write-Host "CPU Usage: $($cpu.LoadPercentage)%" Write-Host "Available Memory: $([math]::Round($memory.FreePhysicalMemory/1MB,2)) GB"
Automatizirano upozorenje
Izradite PowerShell skripte koje provjeravaju metrike i šalju upozorenja kada se prekorače pragovi:
$cpuThreshold = 80
$cpu = (Get-Counter '\Processor(_Total)\% Processor Time').CounterSamples.CookedValue
if ($cpu -gt $cpuThreshold) {
Send-MailMessage -To 'dba@company.com' -Subject 'High CPU Alert' `
-Body "CPU usage is $cpu%" -SmtpServer 'smtp.company.com'
}
13.3 Izrada nadzornih ploča
Vizualizirajte podatke o performansama pomoću interaktivnih nadzornih ploča za bolji uvid.
Power BI integracija
- Povežite Power BI s tablicama podataka o performansama
- Izradite vizualizacije za ključne metrike
- Dodajte slicere za vremenski raspon i odabir poslužitelja
- Objavljivanje nadzornih ploča u usluzi Power BI
- Konfigurirajte rasporede automatskog osvježavanja
Izrada nadzorne ploče u stvarnom vremenu
Koristite alate poput Grafane ili prilagođene web aplikacije za izradu nadzornih ploča u stvarnom vremenu koje izravno šalju upite DMV-ovima i brojačima performansi.
Vizualizacija povijesnih trendova
Izradite linijske grafikone koji prikazuju trendove tijekom vremena za:
- Korištenje CPU-a
- Korištenje memorije
- Disk I/O
- Izvedba upita
- Broj veza
14. Studije slučaja i praktični primjeri
14.1 Studija slučaja: Rješavanje pritiska pamćenja
Identifikacija simptoma
Proizvodnja SQL Server iskusio je sporo vrijeme odgovora na upite tijekom vršnih sati. Korisnici su se žalili na isteke vremena aplikacije i smanjene performanse.
Protuanaliza
Podaci Performance Monitora otkriveni su:
- Očekivano trajanje stranice palo je na 50 sekundi (normalno: >300)
- Omjer pogodaka predmemorije pao je na 85% (normalno: >99%)
- Vrijednosti na čekanju za memorijske dodjele često su prikazivale 5-10
- Broj čitanja fizičkog diska/s značajno je porastao
Koraci rješenja
- provjeren SQL Server postavka maksimalne memorije – otkriveno je da je postavljena na zadano (neograničeno)
- Pregledana ukupna memorija poslužitelja u odnosu na Tardobiti memoriju poslužitelja – pokazao je značajan nedostatak
- Konfigurirana je maksimalna memorija poslužitelja tako da ostane 8 GB za operativni sustav
- Omogućeno je dopuštenje "Zaključaj stranice u memoriji" za SQL Server račun usluge
- Dodano dodatnih 32 GB RAM-a na server
- Praćene performanse tijekom jednog tjedna – očekivano trajanje stranice stabilizirano iznad 500 sekundi
Rezultat: Vrijeme odgovora na upite poboljšano je za 60%, pritužbe korisnika su prestale, a performanse aplikacije vratile su se u normalu.
14.2 Studija slučaja: Optimizacija performansi CPU-a
Identifikacija simptoma
A SQL Server konstantno je pokazivao iskorištenost CPU-a iznad 90% tijekom radnog vremena, što je uzrokovalo spore performanse aplikacija i frustracije korisnika.
Protuanaliza
Praćenje performansi otkrilo je:
- % Vrijeme procesora u prosjeku 92% s čestim skokovima do 100%
- Duljina reda procesora stalno iznad 4 (poslužitelj je imao 8 jezgri)
- SQL kompilacije/s bile su 25% paketnih zahtjeva/s (trebale bi biti <10%)
- SQL rekompilacije/s bile su 15% paketnih zahtjeva/s
Koraci rješenja
- Korišteni su DMV-ovi za identifikaciju upita koji najviše troše CPU
- Analizirani planovi izvršenja za identificirane upite
- Otkriveno više skeniranja tablica na velikim tablicama zbog nedostajućih indeksa
- Izradio odgovarajuće indekse na temelju preporuka plana izvršenja
- Identificiran dinamički SQL koji uzrokuje prekomjerno kompiliranje
- Izmijenjeni kod aplikacije za korištenje parametriziranih upita
- Implementirani vodič za plan za problematične pohranjene procedure
- Ažurirana statistika o često korištenim tablicama
Rezultat: Iskorištenost CPU-a pala je na prosječnih 45% tijekom radnog vremena. Vrijeme izvršavanja upita poboljšano je za 70%. Značajno se poboljšala i odzivnost aplikacije.
14.3 Studija slučaja: Rješavanje uskih grla u I/O operacijama diska
Identifikacija simptoma
Korisnici su prijavili izuzetno spor odziv aplikacije tijekom operacija učitavanja podataka i večernje grupne obrade.
Protuanaliza
Podaci o performansama pokazali su:
- Prosječno vrijeme zapisivanja na disku premašilo je 45 ms na disku zapisnika transakcija
- Prosječna duljina reda diska 12 na disku s datotekama
- % vremena diska ostalo je iznad 95% satima tijekom batch poslova
- Broj pisanja stranica/sek bio je iznimno visok
Koraci rješenja
- Provjerene postavke memorije bile su ispravne – nisu pronađeni problemi s memorijom
- Analizirana konfiguracija diska – otkrivene su sve datoteke na istom skupu vretena
- Odvojeni zapisnici transakcija na namjenske brze SSD diskove
- Tempdb je premješten na odvojene SSD diskove
- Implementirano je više tempdb datoteka (jedna po jezgri)
- Nadograđeni pogoni za datoteke podataka na RAID 10 SSD konfiguraciju
- Optimizirani paketni poslovi za korištenje manjih paketa transakcija
- Dodani indeksi za smanjenje nepotrebnih skeniranja tablica tijekom serijskih operacija
Rezultat: Prosječno vrijeme pisanja na disku u sekundama palo je na 3 ms. Prosječna duljina reda čekanja na disku bila je ispod 1. Vrijeme dovršetka serijskih zadataka smanjeno je za 75%.
15. Budući trendovi u SQL Server Praćenje
15.1 Integracija umjetne inteligencije i strojnog učenja
Umjetna inteligencija i strojno učenje se transformiraju SQL Server monitor performansi.
Prediktivna analitika
Modeli strojnog učenja predviđaju buduće potrebe za resursima na temelju povijesnih podataka. Ovi sustavi mogu predvidjeti:
- Kada će se kapacitet skladišta iscrpiti
- Očekivani zahtjevi za CPU i memorijom tijekom vršnih razdoblja
- Smanjenje performansi upita prije nego što utječe na korisnike
- Optimalna vremena za operacije održavanja
Otkrivanje anomalija
Alati temeljeni na umjetnoj inteligenciji automatski otkrivaju neobične obrasce u pokazateljima performansi. Oni identificiraju anomalije koje bi ljudski administratori mogli propustiti i razlikuju normalne varijacije od stvarnih problema.
Automatizirano saniranje
Sustavi za samoobnavljanje automatski rješavaju uobičajene probleme kada se otkriju:
- Restarusluge koje su zaustavljene
- Preraspodijelite resurse tijekom vršnog opterećenja
- Primjena hitnih popravaka za poznate probleme
- Automatska obnova fragmentiranih indeksa
15.2 Evolucija praćenja u oblaku
Praćenje u oblaku se nastavlja razvijati s novim mogućnostima.
Ujedinjene platforme za praćenje
Moderne platforme pružaju vidljivost kroz jedno staklo na:
- Lokalno SQL Server instance
- Cloud-hosted baze podataka
- Hibridna okruženja
- Učinkovitost aplikacije
- Metrike infrastrukture
Trendovi uočljivosti
Prelazak s praćenja na promatranje naglašava:
- Razumijevanje ponašanja sustava iz izlaza
- Korelacija metrika, zapisnika i tragova
- Duboki uvidi u distribuirane sustave
- Dijagnoza problema u stvarnom vremenu
15.3 Samoobnavljajući sustavi baza podataka
Budućnost SQL Server verzije će uključivati više autonomnih mogućnosti.
Automatska optimizacija
Baze podataka će se kontinuirano optimizirati na sljedeći način:
- Automatsko stvaranje i brisanje indeksa na temelju opterećenja
- Prilagođavanje postavki konfiguracije za optimalne performanse
- Transparentno prepisivanje neučinkovitih upita
- Dinamičko upravljanje alokacijom resursa
Inteligentno podešavanje
Napredni sustavi će učiti iz obrazaca performansi i automatski primjenjivati preporuke za podešavanje, smanjujući potrebu za ručnom intervencijom administratora baza podataka.
16. Zaključak i ključni zaključci
16.1 Sažetak bitnih praksi praćenja
Djelotvoran SQL Server Monitor performansi zahtijeva sveobuhvatan pristup koji kombinira alate, tehnike i najbolje prakse.
Sažetak kritičnih brojača
Usredotočite napore praćenja na ove bitne brojače:
- Memorija: Očekivano trajanje stranice, omjer pogodaka predmemorije međuspremnika, memorijske dodjele na čekanju
- CPU: % vremena procesora, duljina reda čekanja procesora
- Disk: Prosječno vrijeme diska u sekundama/čitanje i pisanje, duljina reda čekanja na disku
- SQL ServerZahtjevi za pakete/s, Kompilacije/s, Korisničke veze
Sažetak najbolje prakse
- Utvrdite osnovne vrijednosti tijekom normalnog rada
- Postavite inteligentne pragove upozorenja na temelju osnovnih vrijednosti
- Redovito pregledavajte podatke o učinku
- Nadzor stanja s detaljnim podacima
- Zadržite dugoročne podatke za analizu trendova
- Koristite odgovarajuće alate za svaki scenarij praćenja
16.2 Pristup kontinuiranog poboljšanja
SQL Server Praćenje učinka nije jednokratna aktivnost već kontinuirani proces koji zahtijeva kontinuirano usavršavanje.
Redoviti ciklusi pregleda
- Dnevno: Provjerite upozorenja i trenutne performanse
- Tjedno: Pregledajte trendove i identificirajte probleme koji se pojavljuju
- Mjesečno: Analizirajte dugoročne obrasce i potrebe za kapacitetima
- Tromjesečno: Ažuriranje osnovnih vrijednosti i pregled učinkovitosti praćenja
Održavanje koraka s alatima
Redovito ažurirajte alate i tehnike praćenja:
- Procijenite nove značajke praćenja u SQL Server Ažuriranja
- Testiranje novih alata trećih strana
- Pohađajte obuke i konferencije
- Sudjelovati u SQL Server forumima zajednice
- Podijelite znanje s članovima tima
16.3 sljedećih koraka
Implementirati SQL Server sustavno praćenje performansi:
Plan provedbe
- Tjedan 1: Postavite Monitor performansi s osnovnim brojačima
- Tjedan 2: Izradite skupove kolekcionara podataka za automatizirano prikupljanje
- Tjedan 3: Utvrdite osnovne vrijednosti tijekom normalnog rada
- Tjedan 4: Konfigurirajte upozorenja za kritične pragove
- Mjesec 2: Implementirajte dodatne alate za praćenje (DMV-ovi, prošireni događaji)
- Mjesec 3: Razvoj prilagođenih nadzornih ploča i izvješća
- U tijeku: Usavršiti praćenje na temelju iskustva i promjenjivih zahtjeva
Dodatni resursi
Nastavite učiti o SQL Server Pratite performanse putem Microsoftove dokumentacije, blogova zajednice i praktičnih vježbi. Eksperimentirajte s različitim alatima i tehnikama kako biste pronašli ono što najbolje funkcionira za vaše okruženje.
17. Često postavljana pitanja (FAQ)
17.1 Što su most važno SQL Server brojače performansi za praćenje?
Most kritičan SQL Server Brojači performansi uključuju:
- Memorija: Očekivano trajanje stranice (treba biti >300 sekundi) i omjer pogodaka predmemorije međuspremnika (trebao bi biti >99%)
- CPU: % vremena procesora (trajne vrijednosti <75%) i duljina reda čekanja procesora (treba biti <2 po jezgri)
- Disk: Prosječno vrijeme diska u sekundama/čitanje i pisanje (treba biti <10-20 ms) i duljina reda čekanja na disku (treba biti <2 po disku)
- SQL ServerZahtjevi za pakete/s, SQL kompilacije/s i Memorijske dodjele na čekanju (treba biti 0)
Ovi brojači pružaju sveobuhvatan uvid u stanje sustava i pomažu u brzom prepoznavanju uskih grla.
17.2 Koliko često trebam prikupljati podatke o performansama?
Učestalost prikupljanja ovisi o vašim ciljevima praćenja:
- Osnovno praćenje: Svake 1 minute (60 sekundi)
- Aktivno rješavanje problema: Svakih 15-30 sekundi u kratkim razdobljima
- Dugoročni trend: Svakih 5 minuta
Izbjegavajte kontinuirano prikupljanje podataka visoke učestalosti jer to može utjecati na performanse i generirati prekomjernu količinu podataka. Koristite dulje intervale za rutinsko praćenje, a kraće intervale samo prilikom istraživanja specifičnih problema.
17.3 Koja je razlika između Monitora performansi i SQL Server Profiler?
Monitor performansi i SQL Server Profileri služe različitim svrhama:
Performance Monitor:
- Nadzire sustav i SQL Server brojači performansi
- Prati iskorištenost resursa (CPU, memorija, disk)
- Niski režijski troškovi, pogodno za kontinuirano praćenje
- Pruža agregirane metrike tijekom vremena
SQL Server profiler:
- Tragovi pojedinca SQL Server događaji i upiti
- Bilježi detaljne informacije o izvršavanju upita
- Veći režijski troškovi, ne preporučuje se za kontinuiranu upotrebu
- Najbolje za rješavanje problema sa specifičnim upitima
- Zastarjelo u korist proširenih događaja
Koristite Monitor performansi za cjelokupno praćenje sustava i Proširene događaje (ne Profiler) za detaljnu analizu na razini upita.
17.4 Utjecaj monitora performansi Can SQL Server izvođenje?
Kada je pravilno konfiguriran, Monitor performansi ima minimalan utjecaj na SQL Server performanse, obično manje od 2% opterećenja. Međutim, pretjerano praćenje može uzrokovati probleme:
- Previše brojača povećava opće troškove
- Vrlo kratki intervali uzorkovanja (manje od 15 sekundi) opterećuju resurse
- Kontinuirano visokofrekventno prikupljanje generira velike datoteke zapisnika
Za smanjenje utjecaja:
- Pratite samo potrebne brojače
- Koristite odgovarajuće intervale uzorkovanja (60 sekundi za rutinsko praćenje)
- Pohranjujte zapisnike na diskove odvojeno od datoteka baze podataka
- Zakažite praćenje koje zahtijeva puno resursa izvan vršnih sati
17.5 Koliko dugo trebam čuvati podatke o praćenju performansi?
Zadržavanje podataka ovisi o vašim analitičkim potrebama i kapacitetu pohrane:
- minimalna: 3 mjeseca za rješavanje nedavnih problema
- Preporučena: 1-2 godine za planiranje kapaciteta i analizu trendova
- Optimalno: Neograničeno ako pohrana dopušta, jer povijesni podaci s vremenom postaju vrijedniji
Podaci brojača performansi dobro se komprimiraju i zauzimaju relativno malo prostora. Razmislite o arhiviranju starijih podataka u zasebnu pohranu umjesto brisanja. Mnoge organizacije smatraju da su godine povijesnih podataka neprocjenjive za planiranje kapaciteta i identificiranje dugoročnih trendova.
17.6 Koje su dobre granične vrijednosti za ključne brojače performansi?
Preporučene granične vrijednosti za upozorenje:
- Dodjele memorije na čekanju: Upozorenje kada > 0
- Očekivano trajanje stranice: Upozorenje kada je < 300 sekundi
- % Vrijeme procesora: Upozorenje kada je > 80% tijekom 5 minuta
- Duljina reda procesora: Upozorenje kada je > 2 po jezgri
- Prosječno vrijeme diska u sekundama/čitanje ili pisanje: Upozorenje kada je > 20 ms
- Duljina reda diska: Upozorenje kada je > 2 po disku
- Blokirani procesi: Upozorenje kada > 5
Prilagodite ove pragove na temelju osnovnih podataka i specifičnih karakteristika radnog opterećenja. Ono što je normalno za jedno okruženje može ukazivati na probleme u drugom.
17.7 Kako mogu pratiti SQL Server performanse na daljinu?
Daljinski upravljač za monitor SQL Server slučajevi korištenja ovih metoda:
- Performance Monitor: Navedite naziv udaljenog računala prilikom dodavanja brojača
- PowerShell: Koristite parametar -ComputerName s Get-Counter
- DMV-ovi: Povežite se s udaljenim poslužiteljima putem SSMS-a i upitajte DMV-ove
- Alati treće strane: Most alati za nadzor podržavaju nadzor udaljenog poslužitelja
Osigurajte da pravila vatrozida dopuštaju promet Performance Monitora i da imate odgovarajuća dopuštenja na udaljenom poslužitelju. Za više poslužitelja razmislite o implementaciji centraliziranog nadzora s namjenskim poslužiteljem za nadzor i bazom podataka.
17.8 Koji je najbolji besplatni alat za SQL Server monitor performansi?
Dostupno je nekoliko izvrsnih besplatnih alata za praćenje SQL Server izvođenje:
- Monitor performansi sustava Windows: Ugrađen, sveobuhvatan i pouzdan
- SSMS Monitor aktivnosti: Praćenje u stvarnom vremenu bez dodatne instalacije
- Prošireni događaji: Ugrađeno lagano praćenje događaja SQL Server
- sp_TkoJeAktivno: Popularna besplatna pohranjena procedura za detaljno praćenje aktivnosti
- DBA nadzorna ploča: Alat za praćenje otvorenog koda sa sveobuhvatnim značajkama
- SQLWATCH: Otvoreni kod s mogućnostima praćenja gotovo u stvarnom vremenu
Za most organizacije, Monitor performansi u kombinaciji s SSMS alatima i sp_WhoIsActive pruža izvrsne mogućnosti praćenja bez dodatnih troškova.ost.
17.9 Kako mogu izvesti PerfMon podatke za analizu?
Izvoz podataka Monitora performansi pomoću ovih metoda:
Izvoz u CSV:
- Otvorite Monitor performansi s učitanom datotekom zapisnika
- Desnom tipkom miša kliknite graf i odaberite Spremi podatke kao
- Odaberite Tekstualna datoteka (razdvojena zarezom) (.csv)
- Odaberite lokaciju i spremite
- Otvori u Excelu za analizu
Koristite naredbu Relog:
relog input.blg -f csv -o output.csv
Ovaj uslužni program naredbenog retka pretvara binarne datoteke zapisnika (.blg) u CSV format radi lakše analize u aplikacijama za proračunske tablice.
17.10 Kada bih trebao koristiti alate za praćenje trećih strana umjesto ugrađenih opcija?
Razmotrite alate trećih strana kada:
- Upravljanje velikim brojem SQL Server primjeri (10+)
- Zahtjev za centraliziranim nadzorom u više podatkovnih centara
- Potrebne su napredne značajke poput prediktivne analitike ili otkrivanja anomalija
- Želja za integriranim upozoravanjem sa sustavima za upravljanje incidentima
- Zahtjev za izvještavanje o usklađenosti i povijesnu analizu
- Nedostatak DBA resursa za izgradnju i održavanje prilagođenih rješenja
- Praćenje heterogenih okruženja baza podataka (SQL Server, Oracle, MySQL, itd.)
Ugrađeni alati dobro funkcioniraju za manja okruženja ili kada imate vješte administratore baza podataka koji mogu razviti prilagođena rješenja za praćenje. Alati trećih strana pružaju vrijednost kroz uštedu vremena, napredne značajke i profesionalnu podršku.
18. Dodatni resursi
18.1 Službena dokumentacija
Microsoft pruža opsežnu dokumentaciju za SQL Server monitor performansi:
- SQL Server Dokumentacija za Monitor performansi: https://learn.microsoft.com/en-us/sql/relational-databases/performance-monitor/
- Dinamički upravljački prikazi: https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/
- Prošireni događaji: https://learn.microsoft.com/en-us/sql/relational-databases/extended-events/
- Trgovina upita: https://learn.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store
- Podešavanje i praćenje performansi: https://learn.microsoft.com/en-us/sql/relational-databases/performance/
18.2 Preporučeni alati i preuzimanja
Neophodni alati za SQL Server monitor performansi:
- PAL alat: https://github.com/clinthuffman/PAL
- sp_TkoJeAktivno: http://whoisactive.com/
- DBA nadzorna ploča: https://dbadash.com/
- SQLWATCH: https://github.com/marcingminski/sqlwatch
- Komplet prve pomoći (Brent Ozar): https://www.brentozar.com/first-aid/
- SQL Server Management Studio: https://learn.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms
18.3 Resursi zajednice
Učite od SQL Server zajednica:
- SQL Server Središnji: https://www.sqlservercentral.com/
- Blog Brenta Ozara: https://www.brentozar.com/blog/
- SQL koliba: https://www.sqlshack.com/
- MSSQL savjeti: https://www.mssqltips.com/
- Reddit r/SQLServer: https://www.reddit.com/r/SQLServer/
- Stack Overflow SQL Server označiti: https://stackoverflow.com/questions/tagged/sql-server
Ovi resursi pružaju vodiče, savjete za rješavanje problema i najbolje prakse od iskusnih SQL Server profesionalci. Sudjelovanje u forumima zajednice pomaže vam da učite iz tuđih iskustava i dijelite vlastito znanje.
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 baze podataka, rješenja visoke dostupnostii optimizaciju performansi. Njegovo opsežno praktično iskustvo uključuje upravljanje bazama podataka od više terabajta, implementaciju Grupe dostupnosti Always Oni razvoj automatiziranih strategija sigurnosnog kopiranja i oporavka za ključne poslovne sustave.
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.





























