Indholdsfortegnelse skjule

1. Introduktion til SQL Server Performance Monitor

1.1 Hvad er SQL Server Ydelsesmåler?

SQL Server Performancemonitor er processen med at spore, analysere og administrere din computers ydeevne og tilstand SQL Server databaser. Det involverer indsamling og fortolkning af data om forskellige aspekter af dit databasesystem for at sikre optimal ydeevne, forhindre problemer og opretholde databasens sundhed.

Ydelsesovervågning omfatter sporing af forespørgselsudførelsestider, ressourceudnyttelse, indeksydeevne, blokering og fastlåsning samt databasevækstmønstre. Denne løbende overvågning hjælper administratorer med at identificere potentielle problemer, før de påvirker brugere eller forretningsdrift.

1.2 Vigtigste fordele ved præstationsovervågning

Effektiv SQL Server Ydelsesmåleren giver adskillige afgørende fordele:

  • Proaktiv problemdetektion: Identificer og håndter potentielle problemer, før de påvirker brugere eller forretningsdrift
  • Ydeevneoptimering: Identificér flaskehalse og ineffektivitet for at forbedre den samlede databaseydeevne
  • Kapacitetsplanlægning: Prognose for ressourcebehov og planlægning af fremtidig vækst baseret på historiske data
  • Overholdelse og sikkerhed: Sikre overholdelse af lovgivningsmæssige krav og opdage mistænkelig aktivitet

1.3 Almindelige præstationsudfordringer

Uden en ordentlig overvågning af SQL-databasens ydeevne står organisationer over for adskillige risici:

  • Uventet nedetid, der forstyrrer forretningsdriften
  • Dårlig applikationsydelse påvirker brugeroplevelsen
  • Datatab eller korruption
  • Ineffektiv ressourceudnyttelse, der fører til unødvendige kosts
  • Frustrerede brugere og potentielt indtægtstab

Ifølge en IDC-undersøgelse fra 2023 stammer 65 % af problemer med databaseydelsen fra dårlig overvågning eller optimeringspraksis.

2. Forståelse af Windows Ydelsesmåler (PerfMon)

2.1 Hvad er Windows Ydelsesmåler?

Windows Performance Monitor (PerfMon) er et indbygget Windows-værktøj, der overvåger systemressourcer og programydelse. SQL Server administratorer, PerfMon giver uvurderlig indsigt i både operativsystem og SQL Server metrikker, hvilket gør det afgørende for en omfattende præstationsanalyse.

Windows Ydelsesmåler (PerfMon)

PerfMon måler præstationsstatistikker med jævne mellemrum og gemmer disse statistikker i filer til senere analyse. Databaseadministratorer kan vælge tidsinterval, filformat og hvilke statistikker der skal overvåges. Værktøjet er ikke SQL Server-specifik – systemadministratorer bruger det til at overvåge selve Windows, Exchange, filservere og ethvert program, der kan opleve flaskehalse.

2.2 Start af Ydelsesmåler

Du kan starte Ydelsesovervågning på flere måder:

  1. Klik StartenSkriv perfmon I søgefeltet skal du klikke på "Performance Monitor" i søgeresultatet:
    Søg og start PerfMon fra Windows-søgefeltet.
  2. Presse Windows + RSkriv perfmon, og tryk på Indtast
    Start PerfMon fra Windows kørefelt.
  3. Naviger til kontrol panel -> System og sikkerhed -> Administrative Tools -> Performance Monitor
    Start PerfMon fra Kontrolpanel -> System og sikkerhed -> Administration -> Ydelsesovervågning

3. Essential SQL Server Præstationstællere

3.1 Hukommelsesydelsestællere

Hukommelsestællere er afgørende for overvågning SQL Server ydeevne, da de angiver, om din database har tilstrækkelige hukommelsesressourcer.

Tilgængelige MBytes

Denne tæller viser mængden af ​​fysisk hukommelse, der er umiddelbart tilgængelig til allokering. Den bør forblive nogenlunde konstant og ideelt set ikke falde til under 4096 MB. Lave værdier kan indikere, at SQL Servers maksimale hukommelsesindstilling forbliver på standardindstillingen eller ikke-SQL Server Applikationer bruger hukommelse.

Forventet levetid på side

Forventet sidelevetid måler, hvor længe (i sekunder) en side forbliver i bufferpuljen uden at blive refereret til. En normal værdi er 300 sekunder eller mere. Lavere værdier indikerer hukommelsestryk og for høj bufferomsætning, hvilket reducerer cacheeffektiviteten.

Buffercache-hitforhold

Denne tæller angiver procentdelen af ​​dataanmodninger, der besvares ved hjælp af SQL-buffercachen (hukommelsen) i stedet for at læse fra disken. Den når normalt op på eller overstiger 99%. Lavere værdier tyder på, at SQL Server kræver mere hukommelse eller varmer stadig op efter en genopløsningtart.

Hukommelsestilskud afventer

Dette viser antallet af processer, der venter på hukommelse inden for SQL ServerUnder normale forhold bør denne værdi konsekvent være 0. Højere værdier indikerer utilstrækkelig hukommelsesallokering til SQL Server.

TarFå serverhukommelse vs. total serverhukommelse

TarGet Server Memory angiver den ideelle mængde hukommelse SQL Server ønsker at bruge. Total serverhukommelse viser, hvad SQL Server bruger i øjeblikket. Forholdet mellem disse værdier bør være cirka 1. Væsentlige forskelle kan indikere hukommelsesbelastning eller utilstrækkelig tilgængelig hukommelse.

3.2 Processorens ydeevnetællere

CPU-tællere hjælper med at identificere processorflaskehalse og forstå hvordan SQL Server bruger computerressourcer.

% Processortid

Dette måler den procentdel af den forløbne tid, processoren bruger på at udføre ikke-inaktive tråde. På aktive servere kan værdierne stige til 100 %, men vedvarende brug over 70-75 % indikerer typisk ydeevneproblemer for brugerne. Manglende eller utilstrækkelige indeks forårsager ofte høj CPU-brug.

% Privilegeret tid

Processortiden er opdelt i brugertilstand og privilegeret (kernel) tilstand. Al diskadgang og I/O sker i kernetilstand. Hvis denne tæller overstiger 25 %, udfører systemet sandsynligvis for meget I/O. Normale værdier ligger mellem 5 % og 10 %.

Processorkølængde

Denne tæller viser tråde, der venter på CPU-ressourcer. Værdier, der konsekvent er over 1 (undtagen under SQL Server backupkomprimering) indikerer CPU-tryk. Dette betyder ofte, at andre programmer er installeret på SQL Server maskine, hvilket overtræder bedste praksis.

Kontekstskift/sek.

Dette måler, hvor ofte processoren skifter mellem tråde. Overdreven kontekstskiftning kan påvirke ydeevnen og indikerer høj systembelastning.

3.3 Disk I/O-ydeevnetællere

Disk-tællere er afgørende for overvågning af SQL-ydeevne, da disk-I/O ofte bliver den primære flaskehals i databasesystemer.

% disktid

Dette registrerer den procentdel af tiden, hvor disken var optaget af læse-/skriveoperationer. Værdier, der konstant er over 85 %, indikerer en I/O-flaskehals. Da disken er meget langsommere end hukommelse, forbedres ydeevnen ved at reducere denne måleenhed.

Gennemsnitlig disksek./læsning og gennemsnitlig disksek./skrivning

Disse tællere måler den gennemsnitlige tid (i sekunder) for læse- og skriveoperationer. Hvis gennemsnitsværdierne overstiger 10-20 ms, tager det disken for lang tid at behandle data. Transaktionslogdrev kræver særlig hurtig skriveydelse.

Diskkøens længde

Dette viser udestående anmodninger om at læse/skrive til disk. Værdier, der konsekvent er højere end 2 (eller 2 pr. disk for RAID-arrays), indikerer, at disken ikke kan følge med I/O-anmodninger.

Disk Bytes/sek

Dette overvåger hastigheden af ​​dataoverførsel til/fra disk. Hvis dette overstiger diskens nominelle kapacitet, begynder data at ophobe sig, hvilket indikeres ved at øge diskkølængden.

Diskoverførsler/sek

Dette sporer antallet af læse-/skriveoperationer, der udføres på disken. SQL Server Dataadgang er typisk tilfældig, hvilket er langsommere på grund af drevhovedets bevægelse. Sørg for, at denne værdi forbliver under dit diskdrevs maksimale kapacitet (typisk 100/sek for standarddrev).

3.4 SQL Server Specifikke tællere

3.4.1 Buffer Manager-tællere

Buffer Manager-tællere overvåger SQL Servers hukommelsesbufferoperationer:

  • Sidelæsninger/sek: Kumulativt antal læsninger af fysiske databasesider
  • Sideskrivninger/sek: Kumulativt antal fysiske databasesideskrivninger
  • Dovne skriver/sek: Antal buffere skrevet af en doven skriver for at frigøre hukommelse
  • Kontrolpunkt sider/sek: Sider ryddet af kontrolpunkt eller andre handlinger, der kræver, at alle snavsede sider ryddes

3.4.2 SQL-statistiktællere

Disse tællere giver indsigt i SQL Server forespørgselsbehandling:

  • Batchanmodninger/sek: Antal SQL-batchforespørgsler modtaget af serveren. Dette fungerer som et benchmark for serveraktivitet
  • SQL-kompileringer/sek: Antal SQL-kompileringer. Bør være 10 % eller mindre af det samlede antal batchforespørgsler/sek.
  • SQL-genkompileringer/sek: Antal SQL-rekompileringer. Skal også være 10 % eller mindre af det samlede antal batchforespørgsler/sek.

3.4.3 Generelle statistiktællere

  • Brugerforbindelser: Antal brugere forbundet til systemet. Bruges som benchmark til at spore forbindelsesvækst over tid.
  • Blokerede processer: Aktuelt antal blokerede processer. Ideelt set bør det være 0

3.4.4 Tællere i hukommelsesstyring

  • Afventer hukommelsesbevillinger: Samlet antal processer, der venter på tildeling af hukommelse til arbejdsområdet. Bør ideelt set være 0

4. Opsætning af Performance Monitor for SQL Server(Windows Vista / Server 2008 og nyere)

Først og fremmest skal vi oprette en container for at administrere tællere lettere:

  • For Windows Vista/Server 2008 og nyere versioner kan du oprette dataindsamlersæt i dette afsnit.
  • I Windows XP/Server 2003 og tidligere versioner kan du oprette tællerlogfiler i næste afsnit.

4.1 Hvad er dataindsamlersæt?

Dataindsamlingssæt organiserer ydeevnetællere, hændelsessporingsdata og systemkonfigurationsoplysninger i en enkelt indsamlingsenhed. De giver mere fleksibilitet end simple tællerlogfiler og muliggør automatiseret, planlagt dataindsamling til omfattende overvågning af SQL-databasens ydeevne.

4.2 Oprettelse af et dataindsamlersæt

Opret et brugerdefineret dataindsamlersæt til overvågning SQL Server ydelsestællere:

  1. Åbn ydeevneovervågning
  2. Udvid Dataindsamlersæt
  3. Højreklik Brugerdefineret
  4. Type Ny -> Dataindsamlersæt
    Opret et nyt dataindsamlersæt i PerfMon
  5. Indtast et beskrivende navn (f.eks. "SQL Server Præstationsmålinger”)
  6. Type Opret manuelt (avanceret)
    Angiv et beskrivende navn til dataindsamlersættet
  7. Klik Næste
  8. Check (Skak) Opret datalogfiler -> Ydelsestæller
    Vælg Opret datalogfiler -> Ydelsestæller i guiden Opret nyt dataindsamlersæt.
  9. Klik Næste
  10. Klik Tilføj at vælge tællere
  11. Tilføj ønskes SQL Server og systemtællere.
    Tilføj ydeevnetællere til det nye dataindsamlersæt.
  12. sæt Prøveinterval
    • Til rutinemæssig overvågning skal du bruge 1 minut (60 sekunder)
    • Brug 15-30 sekunder til aktiv fejlfinding
    • Undgå at køre højfrekvente optagelser på lang sigt, da de kan påvirke ydeevnen og generere for mange data.

    Indstil prøveintervallet i den nye guide til dataindsamlersæt.

  13. Klik Næste
  14. Vælg den placering, hvor logfilerne skal gemmes
    Angiv den placering, hvor ydeevnedataene skal gemmes i den nye guide til dataindsamlersæt.
  15. Klik Finish, vil et nyt dataindsamlersæt blive oprettet.
  16. Som standard vil det nye dataindsamlersæt IKKE være starautomatisk. Du skal finde den i venstre panel under Ydeevne -> Dataindsamlersæt -> Brugerdefineret -> Din dataindsamler, højreklik på den og vælg Starten
    Staret nyt dataindsamlersæt i PerfMon.

4.3 Nøgletællere, der skal tilføjes

  • Hukommelse -> Tilgængelige MBytes
  • Fysisk disk -> Gennemsnitlig disk sek./læsning (alle forekomster undtagen _Total)
  • Fysisk disk -> Gennemsnitlig disk sek./skrivning (alle forekomster undtagen _Total)
  • Fysisk disk -> Disklæsninger/sek. (alle forekomster undtagen _Total)
  • Fysisk disk -> Diskskrivninger/sek. (alle instanser undtagen _Total)
  • Processor -> % processortid (alle forekomster undtagen _Total)
  • SQLServer: Generel statistik -> Brugerforbindelser
  • SQLServer: Hukommelseshåndtering -> Hukommelsestildelinger afventer
  • SQLServer: SQL-statistik -> Batchforespørgsler/sek.
  • SQLServer: SQL-statistik -> SQL-kompileringer/sek.
  • SQLServer: SQL-statistik -> SQL-rekompileringer/sek.
  • System -> Processorkølængde

4.4 Indstilling af stopbetingelser

Konfigurer stopbetingelser for at forhindre ubegrænset datavækst:

  1. Når du har oprettet dataindsamlersættet, skal du højreklikke på det og vælge Ejendomme
  2. Klik på knappen Stopbetingelse fanen
  3. Aktiver Samlet varighed
  4. Indstil varighed til 1 dag (24 timer)
  5. Klik OK at gemme

Angiv stopbetingelsen for dataindsamlersættet

Dette sikrer, at loggen ikke vokser sig for stor og automatisk genoprettestarts hvis planlagt.

4.5 Planlægning af dataindsamling

Automatiser dataindsamling for at sikre ensartet overvågning:

  1. Højreklik på dit dataindsamlersæt, og vælg Ejendomme
  2. Klik på knappen Plan fanen
  3. Klik Tilføj at oprette en ny tidsplan
  4. Konfigurér stardato og klokkeslæt
  5. Indstil gentagelsesmønster (f.eks. dagligt)
  6. Klik OK for at gemme tidsplanen

Indstil tidsplanen for dataindsamlersættet

Til automatisketarop, konfigurer dataindsamlersættet til start når serveren starter op ved at oprette somtarop-udløser i Windows Opgavestyring.

5. Opsætning af Performance Monitor for SQL Server(Windows XP / Server 2003 og tidligere)

I Windows XP/Server 2003 og tidligere versioner kan du oprette tællerlogge, som giver dig mulighed for at vælge et sæt ydeevnetællere og logge dem i en fil med jævne mellemrum.

5.1 Oprettelse af tællerlogfiler

Følg disse trin for at oprette en ny tællerlog:

  1. Åbn ydeevneovervågning
  2. Udvid Ydeevne og -beskeder i venstre rude
  3. Højreklik Tællerlogge
  4. Type Nye logindstillinger
  5. Navngiv loggen med navnet på din databaseserver (f.eks. "ProductionSQL01")
  6. Klik OK for at starte konfigurationen

Ved at oprette separate tællerlogfiler for hver server kan du teste ydeevnen på individuelle servere uden at indsamle data for alle servere samtidigt.

5.2 Tilføjelse af ydeevnetællere

Når du har oprettet en tællerlog, skal du tilføje de specifikke ydeevnetællere, du vil overvåge:

  1. Klik på knappen Tilføj tællere .
  2. Skift computernavnet, så det peger på din SQL Server instans
  3. Presse Tab at indlæse tilgængelige performanceobjekter
  4. Vælg et performanceobjekt fra rullemenuen (f.eks. Hukommelse)
  5. Vælg specifikke tællere fra listen
  6. Vælg forekomster, hvis det er relevantcable (f.eks. individuelle processorer eller diske)
  7. Klik Tilføj at inkludere tælleren
  8. Gentag for alle ønskede tællere
  9. Klik Luk når færdig

5.3 Konfiguration af prøveintervaller

Prøveintervallet bestemmer, hvor ofte Performance Monitor indsamler data. Konfigurer passende intervaller baseret på dine overvågningsbehov:

  1. I tællerlogegenskaberne skal du finde Eksempeldata hver
  2. Indstil intervallet (standard er 15 sekunder)
  3. Til baseline-monitorering skal der anvendes intervaller på 1 minut til daglig indsamling
  4. Brug intervaller på 15-30 sekunder til korte udbrud ved fejlfinding
  5. Klik OK at ansøge

Husk, at mindre intervaller genererer flere data, som kan være sværere at gengive og analysere. Større intervaller kan overse vigtige stigninger. Balancer datagranulariteten med krav til lagring og analyse.

5.4 Konfiguration af logfiler

Korrekt konfiguration af logfiler sikrer, at data lagres effektivt og tilgængeligt:

  1. Klik på knappen Logfiler faneblad i tællerlogegenskaber
  2. Skift logfiltype til Tekstfil (kommasepareret) til nem Excel-import
  3. Klik Konfigurer
  4. Angiv filstien til en dedikeret placering (f.eks. en delt PerformanceLogs-mappe)
  5. Klik OK at bekræfte

Brug en netværkstilgængelig deling til loglagring, så du kan få adgang til filer eksternt og dele dem med andre brugere.

5.5 Opsætning af legitimationsoplysninger

Konfigurer passende legitimationsoplysninger, så Performance Monitor kan få fjernadgang SQL Server tilfælde:

  1. I tællerlogegenskaberne skal du finde Løb som
  2. Indtast dit domænebrugernavn i formatet: DOMÆNE\brugernavn
  3. Klik Angiv adgangskode
  4. Indtast og bekræft din adgangskode
  5. Klik OK at gemme

Dette gør det muligt for PerfMon-tjenesten at indsamle statistik ved hjælp af dine domænetilladelser i stedet for sine egne legitimationsoplysninger.

6. Analyse af Performance Monitor-data

6.1 Visning af logfiler i Ydelsesmåler

Ydelsesovervågning kan vise historiske data fra gemte logfiler:

  1. Åbn ydeevneovervågning
  2. Klik på i venstre rude Overvågningsværktøjer -> Performance Monitor.
  3. Højreklik et vilkårligt sted i grafområdet
  4. Type Ejendomme
    Åbn egenskaber i PerfMon ved at højreklikke et vilkårligt sted i grafområdet.
  5. Klik på knappen Kilde fanen
  6. Type Logfiler radioknap
  7. Klik Tilføj
  8. Naviger til din logfil (.blg eller .csv)
  9. Vælg filen og klik Åbne
    Angiv logfilen som kilde til grafikken i PerfMon.
  10. Brug Tidsinterval skyderen for at vælge den periode, du vil analysere
  11. Klik OK for at lukke dialogboksen Egenskaber
  12. Klik på det grønne plusikon for at tilføje tællere fra logfilen
    Klik på det grønne plusikon for at tilføje tællere fra logfilen i PerfMon.
  13. Vælg de tællere, der skal vises
    Tilføj de ønskede tællere til grafikken i PerfMon.
  14. Klik OK

Grafen viser nu historiske data fra logfilen. Brug skyderen Tidsinterval i Egenskaber til at indsnævre specifikke tidsperioder for at få en detaljeret analyse.

6.2 Eksport af data til Excel

Excel tilbyder effektive analysefunktioner til data om ydeevnetællere:

  1. Åbn Ydelsesovervågning med din logfil indlæst
  2. Højreklik et vilkårligt sted i grafområdet
  3. Type Gem data som
  4. Vælg en placering til filen
  5. Type Tekstfil (kommasepareret) (.csv) fra rullemenuen
  6. Klik Gem
  7. Åbn CSV-filen i Excel

Eksporter dataene til en fil i PerfMon.

Formatér de eksporterede data for bedre analyse:

  1. Slet den halvtomme række 2 og ryd celle A1
  2. Formatér kolonne A som dato/klokkeslæt
  3. Formatér numeriske kolonner med nul decimaler og tusindseparator
  4. Find og erstat servernavne i headere (f.eks. erstat "\\SERVERNAME" med et tomt felt)
  5. Ryd op i objektnavne i overskrifter (f.eks. "Hukommelse", "Fysisk disk", "Processor")
  6. Reducer skriftstørrelsen i overskriften til 8 punkter for bedre synlighed

6.3 Fortolkning af tællerværdier

6.3.1 Analyse af hukommelsestæller

Når du analyserer hukommelsestællere, skal du kigge efter disse indikatorer:

  • Tilgængelige MBytes: Bør holde sig konstant over 4096 MB
  • Forventet levetid for siden: Værdier over 300 sekunder indikerer en sund hukommelse. Lavere værdier tyder på hukommelsestryk.
  • Buffercache-hitforhold: Skal opfylde eller overstige 99 %. Lavere værdier indikerer for mange disklæsninger.
  • Afventer hukommelsesbevillinger: Skal altid være 0. Enhver positiv værdi angiver hukommelsesstarferie

6.3.2 CPU-tælleranalyse

CPU-ydeevneindikatorer inkluderer:

  • % Processortid: Vedvarende brug på over 75 % indikerer problemer med ydeevnen. Spikes til 100 % er normale, men bør ikke vare ved.
  • Processorkølængde: Værdier over 1 angiver CPU-belastning. Tjek Jobliste for at identificere, hvilke processer der bruger CPU'en.
  • % Privilegeret tid: Bør holde sig mellem 5-10 %. Værdier over 25 % tyder på overdreven I/O-drift.

6.3.3 Analyse af disktæller

Grænser for diskydelse:

  • Gennemsnitlig disksek./læsning og skrivning: Bør holde sig under 10-20 ms. Højere værdier indikerer langsomme diskundersystemer.
  • Diskkøens længde: Værdier, der konstant er over 2 (eller 2 pr. disk i RAID), indikerer I/O-flaskehalse.
  • % disktid: Vedvarende værdier over 85% indikerer diskmætning

6.4 Brug af formler og statistik

Tilføj statistiske formler til Excel for hurtig analyse:

  1. Indsæt 7 tomme rækker øverst i dit regneark
  2. Tilføj etiketter i kolonne A: Gennemsnit, Median, Min, Maks, Standardafvigelse
  3. I celle B2 skal du indtaste: =GENNEMSNIT(B9:B100) (juster B100 til din sidste datarække)
  4. I celle B3 skal du indtaste: =MEDIAN(B9:B100)
  5. I celle B4 skal du indtaste: =MIN(B9:B100)
  6. I celle B5 skal du indtaste: =MAX(B9:B100)
  7. I celle B6 skal du indtaste: =STDEV(B9:B100)
  8. Kopier formler på tværs af alle tællerkolonner
  9. Markér celle B9, og tryk på Alt+W+F+Enter for at fryse ruder

Disse statistikker hjælper med at identificere tendenser, outliers og normale driftsintervaller for hver tæller.

7. Værktøj til ydeevneanalyse for logfiler (PAL)

7.1 Introduktion til PAL

Performance Analysis for Logs (PAL) er et gratis værktøj udviklet af Clint Huffman, der analyserer Performance Monitor-logfiler og genererer HTML-rapporter med tærskelværdianalyse. PAL sammenligner dine ydelsesdata med kendte tærskler og giver detaljerede anbefalinger til SQL Server præstationsoptimering.

Download PAL fra GitHub-arkivet: https://github.com/clinthuffman/PAL Eksternt link

7.2 Opsætning af PAL

Installer PAL ved at følge disse trin:

  1. Download PAL-opsætningsfilen fra GitHub
  2. Kør installationsprogrammet
  3. Klik Næste på velkomstskærmen
  4. Gennemgå og accepter installationsmappen
  5. Klik Næste at fortsætte
  6. Klik Installer for at begynde installationen
  7. Vent til installationen er fuldført
  8. Klik Finish

7.3 Behandling af logfiler med PAL

Analysér dine Performance Monitor-logfiler ved hjælp af PAL:

  1. Start PAL fra Start-menu eller installationsmappe
  2. Klik på knappen Tællerlog fanen
  3. Klik Gennemse for at vælge din .blg-fil
  4. Naviger til din Performance Monitor-logfil
  5. Klik Åbne
  6. Klik på knappen Tærskelfil fanen
  7. Vælg en tærskelfil fra rullemenuen (f.eks. "SQL Server 2016")
  8. Klik på knappen Spørgsmål fanen
  9. Besvar spørgsmål om din systemkonfiguration
  10. Angiv om din SQL Server er OLTP eller datalager
  11. Indtast den samlede tilgængelige RAM
  12. Klik på knappen Outputindstillinger fanen
  13. Vælg en outputmappe til HTML-rapporten
  14. Check (Skak) HTML output format
  15. Klik på knappen Udfør fanen
  16. Gennemgå dine valg
  17. Check (Skak) Start henrettelse nu
  18. Klik Finish

7.4 Analyse af PAL-rapporter

Når PAL har afsluttet analysen, genereres en HTML-rapport, der indeholder:

  • Resumé af præstationsproblemer
  • Detaljeret tælleranalyse med diagrammer
  • Overskridelser af grænseværdier fremhævet med farve
  • Specifikke anbefalinger for hvert problem
  • Historiske tendenser og mønstre

Rapporten bruger farvekodning til at angive alvorlighedsgraden: rød for kritiske problemer, gul for advarsler og grøn for sunde målinger. Gennemgå hvert afsnit for at forstå flaskehalse i ydeevnen og følg PAL's anbefalinger til optimering.

8. Alternativ SQL Server Overvågningsværktøjer

8.1 Indbygget SQL Server Værktøjer

8.1.1 SQL Server Activity Monitor

SQL Server Activity Monitor viser information i realtid om SQL Server processer og ydeevne:

  1. Åbne SQL Server Management Studio (SSMS) og opret forbindelse til din serverinstans
  2. Højreklik på servernavnet i Object Explorer
  3. Type Activity Monitor
    Start Aktivitetsovervågning i SQL Server ManagementStudio.

Aktivitetsovervågning viser processer, ressourceventetider, datafil-I/O og nylige dyre forespørgsler. Den giver hurtig indsigt i den aktuelle databaseaktivitet, men gemmer ikke historiske data.

Aktivitetsovervågning i SQL Server

8.1.2 SQL Server Ydeevne Dashboard

SQL Server Management Studio indeholder indbyggede præstationsrapporter:

  1. In SQL Server Management Studio (SSMS), højreklik på SQL Server instans i Object Explorer
  2. Type Rapporter -> Standardrapporter
  3. Vælg mellem tilgængelige rapporter som f.eks. Ydeevne Dashboard
    Åbn præstationsdashboardet i SQL Server ManagementStudio.

Performance Dashboard giver visuel indsigt i SQL Server instansens ydeevne, herunder systemets CPU-udnyttelse, aktuelle ventende anmodninger og ydeevnemålinger. Få adgang til den via menuen Standardrapporter.

Ydelsesdashboard i SQL Server ledelsesstudie

8.1.3 SQL Server Profiler

SQL Server Profiler opfanger og analyserer SQL Server hændelser såsom udførelse af forespørgsler, transaktionshandlinger og loginaktiviteter.

Til start SQL Server Profiler:

  1. In SQL Server Management Studio, klik Værktøjer -> SQL Server Profiler
    Start SQL Server Profiler i SQL Server ManagementStudio.

Profiler skaber betydelige ydelsesomkostninger, så brug det med omtanke og helst uden for spidsbelastningsperioder.ost scenarier giver udvidede hændelser bedre ydeevne med mindre påvirkning.

SQL Server Profiler

8.1.4 Udvidede begivenheder

Udvidede arrangementer er et letvægts præstationsovervågningssystem indbygget i SQL ServerDen erstatter SQL Server Profiler med bedre ydeevne og lavere overhead.

Vigtige funktioner omfatter:

  • Finmasket overvågning af specifikke begivenheder
  • Minimal påvirkning af ydeevnen
  • Tilpassede eventsessioner
  • Integration med SSMS og andre værktøjer
  • Understøttelse af kompleks filtrering og aggregering

Opret udvidede begivenhedssessioner via SSMS:

  1. In Objekt Explorer, udvid din server og gå til Administration -> Udvidede begivenheder -> Sessioner
  2. Højreklik på Sessions Og vælg Ny sessionsguide
    Staren ny session af udvidede begivenheder i SQL Server ManagementStudio.
  3. Følg instruktionerne for attaren ny session.

8.1.5 Dynamiske styringsvisninger (DMV'er)

DMV'er viser detaljerede oplysninger om servertilstand med henblik på at overvåge tilstand, diagnosticere problemer og justere ydeevnen. Vigtige DMV'er omfatter:

  • sys.dm_exec_query_stats: Statistik over forespørgselsydelse
  • sys.dm_os_wait_stats: Ventetyper, der påvirker serverens ydeevne
  • sys.dm_os_performance_counters: SQL Server ydelsestællerdata
  • sys.dm_exec_requests: Udfører i øjeblikket anmodninger
  • sys.dm_exec_sessions: Aktive brugersessioner

Forespørg disse visninger ved hjælp af T-SQL for at få adgang til realtidsdata om ydeevne og historiske målinger.

Grundlæggende brug

-- 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 Tredjepartsovervågningsløsninger

Redgate SQL Monitor

Redgate SQL Monitor specialiserer sig i overvågning SQL Server og Azure SQL Database-miljøer. Det tilbyder overvågning af hele ejendommen, brugerdefinerede alarmer og dashboards, detaljerede rapporteringsfunktioner og integration med andre Redgate-værktøjer.

Redgate SQL Server Overvåg

SolarWinds SQL Server Overvågningsværktøj

SolarWinds SQL Server Overvågningsværktøj, også kendt som SQL Sentry, er designet til at diagnosticere, løse og forhindre alvorlige ydeevneproblemer med SQL Server.

SolarWinds SQL Server Overvågningsværktøj

IDERA'er SQL Server Ydeevneovervågningsværktøj

IDERA SQL Diagnostic Manager er en kraftfuld SQL Server præstationsovervågningsværktøj designet til at hjælpe med proaktiv præstationsovervågning, diagnostics og tuning.

IDERA'er SQL Server Ydeevneovervågningsværktøj

Application Managers SQL-overvågning

Applications Manager tilbyder en Microsoft SQL Server Overvågningsværktøj, der giver nyttige it-løsninger. Den er designet til at overvåge ydelsen af ​​SQL-databaser, samtidig med at den identificerer fejl og løser problemer, der kan føre til stop i en organisations drift.

Application Managers SQL-overvågning

8.3 Open Source-overvågningsværktøjer

DBA Dash

DBA Dash er et gratis open source-overvågningsværktøj, der giver indsigt i SQL Server sundhed, ydeevne og aktivitet. Det er især nyttigt til små og mellemstore miljøer og inkluderer daglige DBA-tjek, ydeevneovervågning og konfigurationssporing.

SQLWATCH

SQLWATCH tilbyder decentraliseret, næsten realtidsbaseret SQL Server Overvågning med 5 sekunders granularitet til registrering af belastningsstigninger. Det understøtter Grafana til dashboards i realtid og Power BI til dybdegående analyse. Værktøjet tilbyder omfattende konfigurationsmuligheder, ingen vedligeholdelseskrav og ubegrænset skalerbarhed.

Opserver

Opserver er udviklet af Stack Exchange og overvåger flere systemer, herunder SQL Server, Redis og Elasticsearch. Det giver en "alle servere"-visning af CPU-, hukommelses-, netværks- og hardwarestatistik på tværs af din infrastruktur.

sp_HvemErAktiv

sp_WhoIsActive er en omfattende lagret procedure for aktivitetsovervågning, skabt af Adam Machanic. Den fungerer med alle SQL Server versioner fra 2005 til nuværende udgivelser og bruges i vid udstrækning af SQL Server DBA'er til overvågning af aktivitet i realtid.

For at bruge sp_WhoIsActive skal du downloade det fra http://whoisactive.com/, installere det i din database og udføre:

EXEC sp_WhoIsActive

Proceduren viser aktuelt udførende forespørgsler, venteoplysninger, blokeringsoplysninger og ressourceforbrug.

9. Bedste praksis for SQL Server Performance Monitor

9.1 Etablering af præstationsgrundlinjer

Ydelsesgrundlinjer fastlægger normale driftsparametre for din SQL Server miljø. Uden basislinjer kan du ikke afgøre, om nuværende målinger indikerer problemer eller repræsenterer typisk adfærd.

Opret basislinjer ved at:

  1. Indsamling af præstationsdata under normal drift i mindst en uge
  2. Registrering af målinger i både spidsbelastnings- og lavbelastningstimer
  3. Dokumentation af typiske værdier for nøgletællere
  4. Registrering af sæsonbestemte variationer, hvis relevantcable
  5. Lagring af basisdata til sammenligning med fremtidige målinger

Opdater baselines kvartalsvis eller efter betydelige ændringer i infrastrukturen, applikationsopdateringer eller databaseændringer.

9.2 Indstilling af passende alarmtærskler

Konfigurer intelligente grænser for at modtage meningsfulde advarsler uden at overvælde dig selv med notifikationer:

  • Ventende hukommelsestildelinger > 0 angiver hukommelsesbelastning
  • Processorkølængde > 2 pr. kerne tyder på CPU-flaskehals
  • Disksek/læsning eller skrivning > 20 ms indikerer langsom I/O
  • Blokerede processer > 5 signalerer konfliktproblemer
  • Forventet sidelevetid < 300 sekunder indikerer hukommelsesbelastning

Juster tærskler baseret på dine basisdata og specifikke arbejdsbelastningskarakteristika. Brug adaptive tærskler, der tager højde for normale variationer i dit miljø.

9.3 Regelmæssig datagennemgang og -analyse

Planlæg regelmæssige præstationsvurderinger for at identificere tendenser og nye problemer:

  • Dagligt: ​​Gennemgå overordnede målinger og seneste advarsler
  • Ugentligt: ​​Udfør en dybdegående analyse af præstationstendenser
  • Månedligt: ​​Generer omfattende rapporter og sammenlign med baselines
  • Kvartalsvis: Gennemgå kapacitetsplanlægning og langsigtede tendenser

Dokumenter resultater og spor forbedringer af ydeevnen over tid.

9.4 Afbalancering af overvågningsomkostninger

Overvågning i sig selv bruger ressourcer, så balancer dataindsamling med ydeevnepåvirkning:

  • Brug intervaller på 30-60 sekunder til kontinuerlig overvågning
  • Brug kun intervaller på 15 sekunder til aktiv fejlfinding
  • Begræns dataindsamlerens varighed for at undgå for mange data
  • Gem logfiler på separate drev fra databasefiler
  • Arkivér gamle ydeevnedata for at opretholde håndterbare filstørrelser

Ydelsesovervågning tilføjer minimal overhead, når den er korrekt konfigureret, typisk under 2% af systemressourcerne.

9.5 Langtidsopbevaring af data

Gem præstationsdata til meningsfuld trendanalyse og kapacitetsplanlægning:

  • Gem mindst 1-2 års præstationsdata
  • Arkivér data til separat opbevaring efter 3-6 måneder
  • Komprimer ældre logfiler for at spare plads
  • Dokumentér eventuelle væsentlige begivenheder eller ændringer, der påvirker præstationen

I betragtning af den relativt lille størrelse af performancetællerdata er det ofte muligt og værdifuldt at gemme dem på ubestemt tid til langsigtet analyse.

9.6 Integration med DevOps-praksisser

Integrer overvågning af databaseydelse i CI/CD-pipelines:

  • Inkluder databaseydelsesmålinger i implementeringsvalidering
  • Automatiser ydeevnetest for nye udgivelser
  • Bekræft, at kodeændringer ikke påvirker ydeevnen negativt
  • Opret performance benchmarks for hver udgivelse
  • Integrer overvågningsalarmer med hændelsesstyringssystemer

10. Fejlfinding af almindelige ydeevneproblemer

10.1 Identifikation af CPU-flaskehalse

CPU-flaskehalse manifesterer sig som langsomme svartider på forespørgsler og høj processorudnyttelse. Brug disse trin til at diagnosticere CPU-problemer:

  1. Tjek tælleren for processorkølængde. Værdier over 2 pr. kerne angiver CPU-belastning.
  2. Gennemgå processortid i %. Vedvarende værdier over 75 % tyder på en CPU-flaskehals.
  3. Fjernskrivebord til SQL Server
  4. Åbn Jobliste (Ctrl+Shift+Esc)
  5. Klik på knappen Processer fanen
  6. Check (Skak) Vis processer fra alle brugere
  7. Klik på knappen CPU kolonneoverskrift for at sortere efter CPU-forbrug
  8. Identificer hvilke processer der bruger CPU-ressourcer

Hvis ikke-SQL Server Applikationer bruger en betydelig mængde CPU, fjern dem fra databaseserveren. Hvis sqlservr.exe bruger en høj CPU, kan du undersøge det ved hjælp af disse metoder:

  • Kontrollér SQL-kompileringer/sek. og SQL-genkompileringer/sek. Værdier over 10 % af batchanmodninger/sek. indikerer overdreven kompilering.
  • Forespørg sys.dm_exec_query_stats for at identificere CPU-intensive forespørgsler
  • Gennemgå udførelsesplaner for manglende indeks eller ineffektive operationer
  • Overvej at tilføje indeks for at reducere antallet af tabelscanninger

10.2 Diagnosticering af hukommelsesproblemer

Hukommelsesproblemer påvirker i høj grad SQL Server ydeevne. Diagnosticer hukommelsesproblemer ved hjælp af disse indikatorer:

Tilgængelige hukommelsesdråber

Hvis de tilgængelige MBytes falder til under 100 MB konstant, står operativsystemet over for hukommelsesproblemer.tarvation. Windows kan udskrive SQL Server hukommelse til disk, hvilket forårsager forringelse af ydeevnen.

Lav forventet levetid for sider

En forventet levetid på under 300 sekunder indikerer høj buffercache-omsætning. Dette tyder enten på utilstrækkelig hukommelsesallokering eller for højt hukommelsestryk fra forespørgsler.

Lav buffercache-hitratio

Buffer Cache Hit Ratio under 99% betyder SQL Server læser ofte data fra disken i stedet for hukommelsen. Dette sker, når bufferpuljen er for lille eller SQL Server varmer stadig op efter restart.

Hukommelsestilskud afventer

Enhver værdi over 0 for Venter på hukommelsestildelinger indikerer, at forespørgsler venter på hukommelsestildelinger. Dette repræsenterer en kritisk hukommelsesmangel, der kræver øjeblikkelig opmærksomhed.

Sådan løser du hukommelsesproblemer:

  1. Konfigurer SQL Server maksimal hukommelsesindstilling for at efterlade tilstrækkelig RAM til operativsystemet (typisk 4-8 ​​GB afhængigt af serverstørrelse)
  2. Aktivér tilladelsen "Lås sider i hukommelsen" for SQL Server servicekonto
  3. Tilføj mere fysisk RAM til serveren, hvis hukommelsespresset fortsætter
  4. Identificer og optimer hukommelsesintensive forespørgsler

10.3 Løsning af problemer med disk-I/O

Disk I/O bliver ofte den primære flaskehals i ydelsen i databasesystemer. Diagnosticér diskproblemer ved hjælp af disse metoder:

Høj diskkølængde

Hvis diskkølængden konsekvent er over 2 (eller 2 pr. disk for RAID), indikerer det, at diskundersystemet ikke kan følge med I/O-anmodninger. Dette skaber en pukkel af ventende handlinger.

For høj diskforsinkelse

Gennemsnitlige disksek./læse- og gennemsnitlige disksek./skriveværdier over 10-20 ms indikerer langsom diskrespons. Transaktionslogdrev kræver særlig hurtig ydeevne, ideelt set under 5 ms til skrivning.

Høj % disktid

Vedvarende % disktid over 85% indikerer diskmætning. Disken bruger most af sin tid til at behandle I/O-anmodninger med lidt tilbageværende ledig kapacitet.

Før du adresserer diskproblemer, skal du kontrollere, at de ikke er symptomer på hukommelsesproblemer. Utilstrækkelig hukommelsesstyrke SQL Server at læse flere data fra disken, hvilket kunstigt oppuster diskmålinger.

Sådan løser du ægte problemer med disk-I/O:

  • Opgrader til hurtigere diske (SSD'er i stedet for HDD'er)
  • Implementer RAID-konfigurationer for bedre ydeevne
  • Adskil databasefiler, transaktionslogfiler og tempdb på forskellige fysiske drev
  • Tilføj mere hukommelse for at reducere disklæsninger
  • Optimer indekser for at reducere unødvendig I/O
  • Gennemgå og optimer dårligt ydende forespørgsler

10.4 Håndtering af blokeringer og fastlåste situationer

Blokering opstår, når én session har låse, der forhindrer andre sessioner i at fortsætte. Overvåg disse tællere for at identificere blokeringsproblemer:

  • Blokerede processer: Bør ideelt set være 0
  • Lås ventetider/sek: Antal låseanmodninger, der kræver ventetider
  • Gennemsnitlig ventetid: Gennemsnitlig ventetid på låsning

For at undersøge blokering:

  1. Åbn Aktivitetsovervågning i SSMS
  2. Udvid Processer sektion
  3. Søg efter processer med værdier, der ikke er nul Blokeret af værdier
  4. Identificer det blokerende sessions-ID
  5. Gennemgå de forespørgsler, der forårsager blokering

Brug sp_WhoIsActive til en mere detaljeret blokeringsanalyse. For mange wait_info-poster indikerer ofte tempdb-konflikt eller blokeringsproblemer.

For at reducere blokering:

  • Minimer transaktionsvarigheden
  • Brug passende isolationsniveauer
  • Tilføj indekser for at reducere låsevarigheden
  • Overvej READ_COMMITTED_SNAPSHOT-isolering
  • Gennemgå og optimer langvarige forespørgsler

10.5 Problemer med forespørgselsydelse

Det er vigtigt at identificere dyre forespørgsler for at overvåge SQL-ydeevnen. Brug disse metoder til at finde problematiske forespørgsler:

Brug af Aktivitetsovervågning

  1. Højreklik på servernavnet i SSMS
  2. Type Activity Monitor
  3. Udvid Seneste dyre forespørgsler
  4. Gennemgå forespørgsler med høj CPU, varighed eller logiske læsninger

Brug af DMV'er

Forespørg sys.dm_exec_query_stats for at identificere ressourcekrævende forespørgsler:

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

Analyse af udførelsesplaner

  1. Åbn et nyt forespørgselsvindue i SSMS
  2. Klik Vis estimeret udførelsesplan (Ctrl+L) eller Inkluder faktisk udførelsesplan (Ctrl+M)
  3. Udfør din forespørgsel
  4. Gennemgå udførelsesplanen for dyre operationer
  5. Kig efter tabelscanninger, indeksscanninger eller high-cost operationer

Optimer forespørgsler ved at:

  • Tilføjelse af passende indekser
  • Omskrivning af forespørgsler for at undgå dyre operationer
  • Opdatering af statistikker
  • Brug af specifikke kolonnenavne i stedet for SELECT *
  • Undgå unødvendige DISTINCT- eller ORDER BY-klausuler

10.6 Find og ret en beskadiget database

Databasekorruption kan forårsage forringelse af ydeevne, datatab og systemfejl. Hurtig opdagelse og håndtering af korruption er afgørende for at opretholde databasens sundhed.

Indikatorer for databasekorruption

Vær opmærksom på disse tegn på potentiel korruption:

  • Fejlmeddelelser i SQL Server fejllog (fejl 823, 824 eller 825)
  • Uventede programfejl ved adgang til bestemte tabeller
  • Langsom forespørgselsydelse på tidligere hurtige forespørgsler
  • SQL Server nedbrud eller uventet opløsningtarts
  • Mistænkelige sider vises i tabellen msdb.dbo.suspect_pages

Brug af DBCC CHECKDB til detektion

DBCC CHECKDB er det primære værktøj til at detektere databasekorruption. Kør det regelmæssigt for at opdage problemer tidligt.

Overvågning af mistænkelige sider

SQL Server registrerer automatisk mistænkelige sider i msdb-databasen:

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)

Eventuelle returnerede rækker indikerer korruptionsproblemer, der kræver øjeblikkelig opmærksomhed.

Strategier til forebyggelse af korruption

  • Aktivér sidebekræftelse med CHECKSUM-indstillingen
  • Oprethold regelmæssige sikkerhedskopier af databasen
  • Brug pålidelig hardware med fejlkorrektion
  • Overvåg diskens tilstand ved hjælp af producentens værktøjer
  • Planlæg regelmæssige DBCC CHECKDB-kørsler
  • Holde SQL Server opdateret med de nyeste patches

Gendannelses- og reparationsmuligheder

Hvis der opdages korruption, kan du prøve det indbyggede værktøj DBCC CHECKDB at reparere dem. Hvis det mislykkes, skal du bruge tredjepartsværktøjer som f.eks. DataNumen SQL Recovery som kan håndtere alvorlig korruption.

11. Avancerede overvågningsteknikker

11.1 Overvågning af forespørgselslager

Forespørgselslager, introduceret i SQL Server 2016, indsamler automatisk data om forespørgslers ydeevne. Det giver værdifuld indsigt i forespørgselsadfærd, udførelsesplaner og ydeevnetendenser.

Aktivering af forespørgselslager

  1. Højreklik på en database i SSMS Object Explorer
  2. Type Ejendomme
  3. Klik på knappen Forespørgselsbutik side
  4. In Driftstilstand (anmodet), Vælg Læse skrive
  5. Konfigurer yderligere indstillinger efter behov
  6. Klik OK

Overvågning af forespørgselsydelse

Få adgang til Query Store-rapporter via Object Explorer:

  1. Udvid databasen i Object Explorer
  2. Udvid Forespørgselsbutik
  3. Vælg mellem tilgængelige rapporter:
    • Regresserede forespørgsler
    • Samlet ressourceforbrug
    • Mest ressourcekrævende forespørgsler
    • Forespørgsler med tvungne planer
    • Sporede forespørgsler

Planregressionsdetektion

Query Store registrerer automatisk, når forespørgselsudførelsesplaner ændres, og ydeevnen forringes. Gennemgå rapporten om regresserede forespørgsler for at identificere forespørgsler, der er påvirket af planændringer.

Tvungen planstyring

Når Query Store identificerer en bedre udførelsesplan, tving SQL Server at bruge det:

  1. Åbn forespørgslen i Query Store
  2. Højreklik på den ønskede plan
  3. Type Styrkeplan

Dette forbedrer ydeevnen øjeblikkeligt uden at kræve kodeændringer.

11.2 Overvågning af indeksvedligeholdelse

Indeksfragmentering forringer forespørgslers ydeevne over tid. Overvåg og vedligehold indekser regelmæssigt for at sikre optimal ydeevne.

Fragmenteringskontrol

Brug denne forespørgsel til at kontrollere indeksfragmentering:

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

Kør denne forespørgsel uden for myldretiden, da det kan være ressourcekrævende.

Analyse af sidetæthed

Sidetætheden angiver, hvor fulde indekssider er. Lav tæthed spilder plads og reducerer ydeevnen:

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

Reorganisering vs. genopbygningsbeslutninger

Vælg indeksvedligeholdelsesoperationer baseret på fragmenteringsniveauer:

  • Fragmentering 10-30%: Brug ALTER INDEX REORGANIZE
  • Fragmentering > 30%: Brug ALTER INDEX REBUILD
  • Fragmentering < 10%: Ingen handling nødvendig

Reorganisering af operationer kræver færre ressourcer og kan køre online. Genopbygningsoperationer er mere grundige, men bruger betydelige ressourcer.

11.3 Opdateringer af databasestatistik

Hjælp til databasestatistik SQL Servers forespørgselsoptimering opretter effektive udførelsesplaner. Forældet statistik fører til dårlig forespørgselsydelse.

Automatisk genopbygning af statistikker

Aktivér automatiske statistikopdateringer:

ALTER DATABASE DatabaseName SET AUTO_UPDATE_STATISTICS ON
ALTER DATABASE DatabaseName SET AUTO_CREATE_STATISTICS ON

Overvågningsstatistik Sundhed

Tjek hvornår statistikken sidst blev opdateret:

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

Opdater statistik manuelt efter behov:

UPDATE STATISTICS TableName WITH FULLSCAN

11.4 Indsamling af brugerdefinerede præstationsdata

Opret brugerdefinerede ydeevneovervågningsløsninger ved at forespørge sys.dm_os_performance_counters direkte og gemme resultaterne i tabeller.

Oprettelse af brugerdefinerede samlingsscripts

Byg en lagret procedure til at indsamle data om ydeevnetællere:

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

Brug af sys.dm_os_performance_counters

Forespørg direkte på ydeevnetællere:

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

Lagring af historiske data

Opret en tabel til at gemme præstationsmålinger over tid:

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

Drejede datalagringsmetoder

Gem data i pivoteret format med én række pr. samplingstid og én kolonne pr. tæller. Dette reducerer lagerplads og forbedrer forespørgselsydelsen sammenlignet med at gemme én række pr. tæller pr. sample.

11.5 Overvågning af flere servere

Til miljøer med flere SQL Server tilfælde, implementere centraliseret overvågning.

Centraliseret overvågningstilgang

  • Opret en dedikeret overvågningsdatabase på en separat server
  • Indsaml data fra alle servere i det centrale repository
  • Brug SQL Server Agentjob til at køre inkassoscripts
  • Implementer netværkstilgængelig indsamling af ydeevnetællere

Fjernserverovervågning

Konfigurer Ydelsesovervågning til at indsamle data fra eksterne servere ved at angive servernavne, når du tilføjer tællere. Sørg for, at firewallregler tillader trafik fra Ydelsesovervågning.

Rapportering på tværs af servere

Opbyg rapporter, der sammenligner ydeevne på tværs af flere servere for at identificere afvigelser og kapacitetsubalancer.

12. Overvågning SQL Server i cloud-miljøer

12.1 Azure SQL-databaseovervågning

Azure SQL Database tilbyder indbyggede overvågningsfunktioner, der adskiller sig fra lokale overvågningsfunktioner. SQL Server.

Azure Monitor-integration

Azure Monitor indsamler automatisk metrikker fra Azure SQL Database, herunder:

  • DTU- eller vCore-udnyttelse
  • Opbevaring skik
  • Forbindelsesstatistik
  • Dødlåse og timeouts

Få adgang til disse målinger via Azure Portal eller Azure Monitor API.

Indbyggede overvågningsfunktioner

Azure SQL Database inkluderer:

  • Anbefalinger til automatisk tuning
  • Indsigt i forespørgselsydelse
  • Intelligent indsigt til anomalidetektion
  • Indbygget alarmering og diagnoseostics

Indsigt i forespørgselsydelse

Denne funktion giver visualisering af de mest ressourcekrævende forespørgsler, analyse af forespørgselsvarighed og historiske ydeevnetendenser. Få adgang til den via Azure Portal under din SQL Database-ressource.

12.2 Cloud-native overvågningsværktøjer

Cloudplatforme tilbyder native overvågningsløsninger, der er optimeret til deres miljøer:

  • Azure Monitor og Application Insights til Azure SQL Database
  • AWS CloudWatch til RDS SQL Server
  • Google Cloud-overvågning til skyen SQL Server

Disse værktøjer integreres problemfrit med cloudinfrastruktur og giver samlet overvågning på tværs af alle cloudressourcer.

Hybrid miljøovervågning

Til hybride implementeringer, der spænder over både lokalt og cloudbaseret drift, skal du bruge værktøjer, der understøtter begge miljøer, f.eks. Redgate SQL Monitor, SolarWinds DPA eller brugerdefinerede løsninger, der bruger centraliseret dataindsamling.

12.3 Ydelsesforskelle i skyen

Cloud SQL Server miljøer har unikke karakteristika:

Ressourceallokeringsmodeller

Cloududbydere bruger forskellige ressourceallokeringsmetoder (DTU'er, vCores, serverless), der påvirker, hvordan du fortolker performance-målinger. Forstå dit serviceniveaus begrænsninger og karakteristika.

Skaleringsovervejelser

Cloud-miljøer tilbyder dynamiske skaleringsmuligheder. Overvåg ressourceudnyttelsen for at bestemme, hvornår der skal skaleres op eller ned. Mange cloud-platforme tilbyder automatisk skalering baseret på ydeevnegrænser.

13. Automatisering af præstationsovervågning

13.1 SQL Server Agentjob

Automatiser dataindsamling ved hjælp af SQL Server Agentjob til konsekvent overvågning uden manuel indgriben.

Planlagt dataindsamling

  1. I SSMS, udvid SQL Server Agent
  2. Højreklik Karriere og vælg Nyt job
  3. Navngiv jobbet (f.eks. "Indsaml præstationsmålinger")
  4. Klik Steps og tilføj et nyt trin
  5. Indstil type til Transact-SQL-script
  6. Indtast dit dataindsamlingsscript
  7. Klik Tidsplaner og tilføj en tidsplan
  8. Konfigurer hyppighed (f.eks. hvert 5. minut)
  9. Klik OK at skabe jobbet

Automatiseret rapportering

Opret job, der genererer og sender performancerapporter via e-mail:

  1. Opret en lagret procedure, der genererer rapporter
  2. Brug Database Mail til at sende rapporter via e-mail
  3. Planlæg jobbet til at køre dagligt eller ugentligt

13.2 PowerShell-automatisering

PowerShell leverer kraftfulde automatiseringsfunktioner til SQL Server præstationsmåler.

Scripts til samling af ydeevnetællere

$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-forespørgsler

Brug WMI til at indsamle ydeevnedata fra eksterne servere:

$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"

Automatisk alarmering

Opret PowerShell-scripts, der kontrollerer metrikker og sender advarsler, når tærskler overskrides:

$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 Oprettelse af overvågningsdashboards

Visualiser præstationsdata med interaktive dashboards for bedre indsigt.

Power BI-integration

  1. Forbind Power BI med dine performancedatatabeller
  2. Opret visualiseringer for nøgleparametre
  3. Tilføj udsnit til tidsinterval og servervalg
  4. Publicer dashboards til Power BI-tjenesten
  5. Konfigurer automatiske opdateringsplaner

Oprettelse af dashboards i realtid

Brug værktøjer som Grafana eller brugerdefinerede webapplikationer til at oprette dashboards i realtid, der forespørger DMV'er og performancetællere direkte.

Visualisering af historisk trend

Lav linjediagrammer, der viser tendenser over tid for:

  • CPU udnyttelse
  • Hukommelsesforbrug
  • Disk I/O
  • Forespørgselsydelse
  • Antal forbindelser

14. Casestudier og praktiske eksempler

14.1 Casestudie: Løsning af hukommelsespres

Symptomidentifikation

En produktion SQL Server oplevede langsomme svartider på forespørgsler i myldretiden. Brugere klagede over timeouts på applikationer og forringet ydeevne.

Modanalyse

Data fra Performance Monitor afsløret:

  • Forventet levetid for sider faldt til 50 sekunder (normal: >300)
  • Buffer Cache Hit Ratio faldt til 85% (normal: >99%)
  • Ventende hukommelsestildelinger viste ofte værdier på 5-10
  • Fysisk disklæsning/sek steg markant

Opløsningstrin

  1. Kontrolleret SQL Server maksimal hukommelsesindstilling – opdagede, at den var indstillet til standard (ubegrænset)
  2. Gennemgået total serverhukommelse vs. Tarhent serverhukommelse – viste et betydeligt hul
  3. Konfigurerede maksimal serverhukommelse til at efterlade 8 GB til operativsystemet
  4. Aktiverede tilladelsen "Lås sider i hukommelsen" for SQL Server servicekonto
  5. Tilføjede 32 GB ekstra RAM til serveren
  6. Overvåget ydeevne i en uge – Forventet sidelevetid stabiliserede sig over 500 sekunder

Resultat: Svartiderne for forespørgsler blev forbedret med 60 %, brugerklager ophørte, og applikationens ydeevne vendte tilbage til normal.

14.2 Casestudie: CPU-ydeevneoptimering

Symptomidentifikation

A SQL Server viste konsekvent en CPU-udnyttelse på over 90 % i åbningstiden, hvilket forårsagede langsom applikationsydelse og brugerfrustration.

Modanalyse

Ydelsesovervågning afslørede:

  • Processortiden i gennemsnit var 92 % med hyppige stigninger til 100 %
  • Processorkølængde konsekvent over 4 (serveren havde 8 kerner)
  • SQL-kompileringer/sek. var 25 % af batchforespørgsler/sek. (bør være <10 %)
  • SQL-genkompileringer/sek. var 15 % af batchanmodninger/sek.

Opløsningstrin

  1. Brugte DMV'er til at identificere de mest CPU-krævende forespørgsler
  2. Analyserede udførelsesplaner for identificerede forespørgsler
  3. Opdagede flere tabelscanninger på store tabeller på grund af manglende indeks
  4. Oprettede passende indeks baseret på anbefalinger til udførelsesplaner
  5. Identificerede dynamisk SQL, der forårsager overdreven kompilering
  6. Ændret applikationskode til at bruge parameteriserede forespørgsler
  7. Implementeret planvejledning til problematiske lagrede procedurer
  8. Opdateret statistik over flittigt brugte tabeller

Resultat: CPU-udnyttelsen faldt til 45 % i gennemsnit i åbningstiden. Forespørgselsudførelsestiderne blev forbedret med 70 %. Applikationsresponsen blev markant forbedret.

14.3 Casestudie: Løsning af flaskehalse ved disk-I/O

Symptomidentifikation

Brugere rapporterede ekstremt langsom applikationsrespons under dataindlæsning og aftenbatchbehandling.

Modanalyse

Ydelsesdata viste:

  • Gennemsnitlig disksekund/skrivningstid oversteg 45 ms på transaktionslogdrevet
  • Diskkølængden var i gennemsnit 12 på datafildrevet
  • % disktid forblev over 95% i timevis under batchjob
  • Sideskrivninger/sek. var usædvanligt høje

Opløsningstrin

  1. Bekræftede hukommelsesindstillinger var korrekte – fandt ingen hukommelsesproblemer
  2. Analyserede diskkonfiguration – fandt alle filer på samme spindelsæt
  3. Separerede transaktionslogge til dedikerede hurtige SSD-drev
  4. Flyttede tempdb til separate SSD-drev
  5. Implementerede flere tempdb-datafiler (én pr. kerne)
  6. Opgraderede datafildrev til RAID 10 SSD-konfiguration
  7. Optimerede batchjob til at bruge mindre transaktionsbatcher
  8. Tilføjede indekser for at reducere unødvendige tabelscanninger under batchoperationer

Resultat: Gennemsnitlig disksekund/skrivningstid faldt til 3 ms. Den gennemsnitlige diskkølængde var under 1. Fuldførelsestiden for batchjob reduceret med 75 %.

15. Fremtidige tendenser i SQL Server Overvågning

15.1 AI og Machine Learning Integration

Kunstig intelligens og maskinlæring er under forandring SQL Server præstationsmåler.

Prediktiv Analytics

Maskinlæringsmodeller forudsiger fremtidige ressourcebehov baseret på historiske data. Disse systemer kan forudsige:

  • Når lagerkapaciteten vil være opbrugt
  • Forventede CPU- og hukommelseskrav i spidsbelastningsperioder
  • Forringelse af forespørgselsydelse, før det påvirker brugerne
  • Optimale tidspunkter for vedligeholdelsesarbejde

Anomali detektion

AI-drevne værktøjer registrerer automatisk usædvanlige mønstre i præstationsmålinger. De identificerer anomalier, som menneskelige administratorer måske overser, og skelner mellem normale variationer og ægte problemer.

Automatiseret udbedring

Selvreparerende systemer løser automatisk almindelige problemer, når de opdages:

  • Restart-tjenester, der er stoppet
  • Omfordel ressourcer under spidsbelastning
  • Anvend hotfixes til kendte problemer
  • Genopbyg fragmenterede indekser automatisk

15.2 Udviklingen af ​​cloudbaseret overvågning

Cloud-overvågning udvikler sig fortsat med nye muligheder.

Ensartede overvågningsplatforme

Moderne platforme giver udsyn i ét enkelt glasparti på tværs af:

  • Lokalt SQL Server forekomster
  • Cloud-hosted-databaser
  • Hybride miljøer
  • Ansøgningsydelse
  • Infrastrukturmålinger

Observerbarhedstendenser

Skiftet fra overvågning til observerbarhed understreger:

  • Forståelse af systemadfærd ud fra output
  • Korrelation af metrikker, logfiler og spor
  • Dyb indsigt i distribuerede systemer
  • Problemdiagnose i realtid

15.3 Selvreparerende databasesystemer

Fremtid SQL Server versionerne vil omfatte flere autonome funktioner.

Automatisk optimering

Databaser vil løbende optimere sig selv ved at:

  • Automatisk oprettelse og sletning af indekser baseret på arbejdsbyrde
  • Justering af konfigurationsindstillinger for optimal ydeevne
  • Omskrivning af ineffektive forespørgsler transparent
  • Dynamisk styring af ressourceallokering

Intelligent tuning

Avancerede systemer lærer af ydeevnemønstre og anvender automatisk anbefalinger til justering, hvilket reducerer behovet for manuel DBA-indgriben.

16. Konklusion og Key Takeaways

16.1 Oversigt over væsentlige overvågningspraksisser

Effektiv SQL Server En præstationsovervågning kræver en omfattende tilgang, der kombinerer værktøjer, teknikker og bedste praksis.

Opsummering af kritiske tællere

Fokuser overvågningsindsatsen på disse vigtige tællere:

  • Hukommelse: Forventet sidelevetid, buffercache-hitforhold, ventende hukommelsestildelinger
  • CPU: % processortid, processorkølængde
  • Disk: Gennemsnitlig disksek./læsning og skrivning, diskkølængde
  • SQL ServerBatchforespørgsler/sek, Kompileringer/sek, Brugerforbindelser

Opsummering af bedste praksis

  • Etablering af basislinjer under normal drift
  • Indstil intelligente alarmgrænser baseret på baselines
  • Gennemgå præstationsdata regelmæssigt
  • Overhead for balanceovervågning med datagranularitet
  • Gem langsigtede data til trendanalyse
  • Brug passende værktøjer til hvert overvågningsscenarie

16.2 Tilgang til løbende forbedringer

SQL Server Performancemonitorering er ikke en engangsaktivitet, men en løbende proces, der kræver kontinuerlig forbedring.

Regelmæssige gennemgangscyklusser

  • Dagligt: ​​Tjek advarsler og aktuel ydeevne
  • Ugentligt: ​​Gennemgå tendenser og identificer nye problemer
  • Månedligt: ​​Analyser langsigtede mønstre og kapacitetsbehov
  • Kvartalsvis: Opdater baselines og gennemgå overvågningens effektivitet

Hold dig opdateret med værktøjer

Hold overvågningsværktøjer og -teknikker opdaterede:

  • Evaluer nye overvågningsfunktioner i SQL Server opdateringer
  • Test nye tredjepartsværktøjer
  • Deltag i træning og konferencer
  • Deltage i SQL Server fællesskab fora
  • Del viden med teammedlemmer

16.3 Næste trin

Implement SQL Server systematisk præstationsovervågning:

Implementering køreplan

  1. Uge 1: Opsæt Performance Monitor med vigtige tællere
  2. Uge 2: Opret dataindsamlersæt til automatiseret indsamling
  3. Uge 3: Etablering af basislinjer under normal drift
  4. Uge 4: Konfigurer advarsler for kritiske tærskler
  5. Måned 2: Implementer yderligere overvågningsværktøjer (DMV'er, udvidede hændelser)
  6. Måned 3: Udvikle brugerdefinerede dashboards og rapporter
  7. Igangværende: Forfin overvågningen baseret på erfaringer og skiftende krav

Yderligere ressourcer

Fortsæt med at lære om SQL Server Ydelsesovervågning via Microsoft-dokumentation, community-blogs og praktisk øvelse. Eksperimentér med forskellige værktøjer og teknikker for at finde ud af, hvad der fungerer bedst for dit miljø.

17. Ofte stillede spørgsmål (FAQ)

17.1 Hvad er most vigtigt SQL Server ydelsestællere at overvåge?

Most kritisk SQL Server Ydelsestællere inkluderer:

  • Hukommelse: Forventet sidelevetid (bør være >300 sekunder) og buffercache-hitratio (bør være >99%)
  • CPU: % processortid (vedvarende værdier <75%) og processorkølængde (bør være <2 pr. kerne)
  • Disk: Gennemsnitlig disksek./læsning og skrivning (bør være <10-20 ms) og diskkølængde (bør være <2 pr. disk)
  • SQL ServerBatchforespørgsler/sek., SQL-kompileringer/sek. og ventende hukommelsestildelinger (skal være 0)

Disse tællere giver omfattende indsigt i systemets tilstand og hjælper med hurtigt at identificere flaskehalse.

17.2 Hvor ofte skal jeg indsamle præstationsdata?

Indsamlingshyppigheden afhænger af dine overvågningsmål:

  • Baseline-overvågning: Hvert minut (60 sekunder)
  • Aktiv fejlfinding: Hvert 15.-30. sekund i korte perioder
  • Langsigtet tendens: Hvert 5. minut

Undgå at køre kontinuerlig højfrekvent indsamling, da det kan påvirke ydeevnen og generere for mange data. Brug længere intervaller til rutinemæssig overvågning og kortere intervaller kun ved undersøgelse af specifikke problemer.

17.3 Hvad er forskellen mellem Performance Monitor og SQL Server Profiler?

Ydelsesmåler og SQL Server Profiler tjener forskellige formål:

Performance Monitor:

  • Overvåger system og SQL Server ydelsestællere
  • Sporer ressourceudnyttelse (CPU, hukommelse, disk)
  • Lav overhead, egnet til kontinuerlig overvågning
  • Giver aggregerede målinger over tid

SQL Server Profiler:

  • Sporer individuelle SQL Server begivenheder og forespørgsler
  • Indfanger detaljerede oplysninger om udførelse af forespørgsler
  • Højere overhead, anbefales ikke til kontinuerlig brug
  • Bedst til fejlfinding af specifikke forespørgselsproblemer
  • Udfaset til fordel for udvidede begivenheder

Brug Performance Monitor til generel systemovervågning og Extended Events (ikke Profiler) til detaljeret analyse på forespørgselsniveau.

17.4 Kan ydeevnemonitor påvirke SQL Server ydeevne?

Når den er korrekt konfigureret, har Performance Monitor minimal indflydelse på SQL Server ydeevne, typisk mindre end 2% overhead. Overdreven overvågning kan dog forårsage problemer:

  • For mange tællere øger overhead
  • Meget korte prøveintervaller (under 15 sekunder) belaster ressourcer
  • Kontinuerlig højfrekvent indsamling genererer store logfiler

For at minimere påvirkningen:

  • Overvåg kun nødvendige tællere
  • Brug passende prøveintervaller (60 sekunder til rutinemæssig overvågning)
  • Gem logfiler på drev adskilt fra databasefiler
  • Planlæg ressourcekrævende overvågning uden for spidsbelastningstiden

17.5 Hvor længe skal jeg opbevare data om præstationsovervågning?

Opbevaring afhænger af dine analysebehov og lagerkapacitet:

  • Minimum: 3 måneder til fejlfinding af nylige problemer
  • Anbefalet: 1-2 år til kapacitetsplanlægning og trendanalyse
  • Optimal: På ubestemt tid, hvis lagring tillader det, da historiske data bliver mere værdifulde over tid

Data fra ydelsestællere komprimeres godt og bruger relativt lidt plads. Overvej at arkivere ældre data til separat lagring i stedet for at slette dem. Mange organisationer oplever, at mange års historiske data er uvurderlige til kapacitetsplanlægning og identifikation af langsigtede tendenser.

17.6 Hvad er gode tærskelværdier for nøglepræstationstællere?

Anbefalede tærskelværdier for alarmering:

  • Hukommelsestilladelser afventer: Advarsel når > 0
  • Forventet sidelevetid: Advarsel når < 300 sekunder
  • % Processortid: Advarsel når > 80% i 5 minutter
  • Processorkølængde: Advarsel når > 2 pr. kerne
  • Gennemsnitlig disksek./læsning eller skrivning: Advarsel når > 20 ms
  • Diskkølængde: Advarsel når > 2 pr. disk
  • Blokerede processer: Advarsel når > 5

Juster disse tærskler baseret på dine basisdata og specifikke arbejdsbelastningskarakteristika. Hvad der er normalt for ét miljø, kan være tegn på problemer i et andet.

17.7 Hvordan overvåger jeg SQL Server ydeevne på afstand?

Fjernbetjening til skærm SQL Server tilfælde ved hjælp af disse metoder:

  1. Performance Monitor: Angiv navnet på den eksterne computer, når du tilføjer tællere
  2. PowerShell: Brug parameteren -ComputerName med Get-Counter
  3. DMV'er: Opret forbindelse til eksterne servere via SSMS og forespørg DMV'er
  4. Tredjepartsværktøjer: Most overvågningsværktøjer understøtter fjernovervågning af servere

Sørg for, at firewallregler tillader trafik fra Performance Monitor, og at du har de nødvendige tilladelser på den eksterne server. Overvej at implementere centraliseret overvågning med en dedikeret overvågningsserver og database for flere servere.

17.8 Hvad er det bedste gratis værktøj til SQL Server præstationsmåler?

Der findes adskillige fremragende gratis værktøjer til overvågning SQL Server ydeevne:

  • Windows Ydelsesmåler: Indbygget, omfattende og pålidelig
  • SSMS Aktivitetsovervågning: Overvågning i realtid uden yderligere installation
  • Udvidede begivenheder: Letvægts hændelsesovervågning indbygget i SQL Server
  • sp_HvemErAktiv: Populær gratis lagret procedure til detaljeret aktivitetsovervågning
  • DBA-dashboard: Open source-overvågningsværktøj med omfattende funktioner
  • SQLWATCH: Open source med overvågningsfunktioner i næsten realtid

Formost organisationer, Performance Monitor kombineret med SSMS-værktøjer og sp_WhoIsActive giver fremragende overvågningsfunktioner uden yderligere omkostningerost.

17.9 Hvordan eksporterer jeg PerfMon-data til analyse?

Eksporter Performance Monitor-data ved hjælp af disse metoder:

Eksporter til CSV:

  1. Åbn Ydelsesovervågning med din logfil indlæst
  2. Højreklik på grafen og vælg Gem data som
  3. Vælg Tekstfil (kommasepareret) (.csv)
  4. Vælg placering og gem
  5. Åbn i Excel til analyse

Brug Relog-kommandoen:

relog input.blg -f csv -o output.csv

Dette kommandolinjeværktøj konverterer binære logfiler (.blg) til CSV-format for nemmere analyse i regnearksprogrammer.

17.10 Hvornår skal jeg bruge tredjepartsovervågningsværktøjer i stedet for indbyggede muligheder?

Overvej tredjepartsværktøjer, når:

  • Håndtering af et stort antal SQL Server forekomster (10+)
  • Kræver centraliseret overvågning på tværs af flere datacentre
  • Behov for avancerede funktioner som prædiktiv analyse eller anomalidetektion
  • Ønsker integreret alarmering med hændelsesstyringssystemer
  • Krav om compliance-rapportering og historisk analyse
  • Mangler DBA-ressourcer til at bygge og vedligeholde brugerdefinerede løsninger
  • Overvågning af heterogene databasemiljøer (SQL Server, Oracle, MySQL osv.)

Indbyggede værktøjer fungerer godt i mindre miljøer, eller når du har dygtige databaseadministratorer, der kan udvikle brugerdefinerede overvågningsløsninger. Tredjepartsværktøjer giver værdi gennem tidsbesparelser, avancerede funktioner og professionel support.

18. Yderligere ressourcer

18.1 Officiel dokumentation

Microsoft leverer omfattende dokumentation til SQL Server præstationsmåler:

18.2 Anbefalede værktøjer og downloads

Væsentlige værktøjer til SQL Server præstationsmåler:

  • PAL-værktøj: https://github.com/clinthuffman/PAL
  • sp_HvemErAktiv: http://whoisactive.com/
  • DBA-dashboard: https://dbadash.com/
  • SQLWATCH: https://github.com/marcingminski/sqlwatch
  • Førstehjælpssæt (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 Fællesskabsressourcer

Lær af SQL Server fællesskab:

  • SQL Server Central: https://www.sqlservercentral.com/
  • Brent Ozar Blog: https://www.brentozar.com/blog/
  • SQL Shack: https://www.sqlshack.com/
  • MSSQLTips: https://www.mssqltips.com/
  • Reddit r/SQLServer: https://www.reddit.com/r/SQLServer/
  • Stack Overflow SQL Server tag: https://stackoverflow.com/questions/tagged/sql-server

Disse ressourcer indeholder vejledninger, råd om fejlfinding og bedste praksis fra erfarne SQL Server professionelle. Deltagelse i fællesskabsfora hjælper dig med at lære af andres erfaringer og dele din egen viden.


Om forfatteren

Yuan Sheng er en senior databaseadministrator (DBA) med over 10 års erfaring inden for SQL Server miljøer og virksomhedsdatabaseadministration. Han har med succes løst hundredvis af databasegendannelsesscenarier på tværs af finansielle tjenester, sundhedsvæsenet og produktionsorganisationer.

Yuan har specialiseret sig i SQL Server databasegendannelse, løsninger med høj tilgængelighedog ydeevneoptimering. Hans omfattende praktiske erfaring omfatter administration af databaser på flere terabyte, implementering af Altid på tilgængelighedsgrupperog udvikling af automatiserede backup- og gendannelsesstrategier til missionskritiske forretningssystemer.

Gennem sin tekniske ekspertise og praktiske tilgang fokuserer Yuan på at skabe omfattende vejledninger, der hjælper databaseadministratorer og IT-professionelle med at løse komplekse SQL Server udfordringer effektivt. Han holder sig opdateret med det nyeste SQL Server udgivelser og Microsofts udviklende databaseteknologier, og tester regelmæssigt gendannelsesscenarier for at sikre, at hans anbefalinger afspejler bedste praksis i den virkelige verden.

Har spørgsmål vedr SQL Server gendannelse eller brug for yderligere vejledning i fejlfinding af databaser? Yuan er velkommen feedback og forslag for at forbedre disse tekniske ressourcer.