serverovervågningsværktøjer
i Del 1 af denne serie dækkede vi en række funktioner, som vi leverer til optimering af ressourceforbruget. Du kan for eksempel justere den måde, dine forespørgselsbatcher kompileres på, konfigurere din buffercache til at skylle med forskellige intervaller og oprette hukommelsesoptimerede tabeller. Få mest muligt ud af disse funktioner kræver, at du får real-time indsigt i sundhed og ydeevne af
- brug serverens forespørgselssprog til at indsamle internt indsamlede data
- Server Management Studio (SSMS): få visninger i realtid i dit system, diagrammer over forespørgsler og on-demand-rapporter
- Performance Monitor: Korrelere metrics fra din server med data fra dine værter
værktøjer til overvågning af din Server kan hjælpe dig med at få adgang til de metrics, vi diskuterede i Del 1. Nogle af disse værktøjer rapporterer de samme målinger, og du foretrækker muligvis den ene grænseflade frem for den anden. Du kan f.eks. bruge enten Ydelsesmonitoren eller T-SEKL-forespørgslerne til at hente metrics fra KKL-serverens ydelsestællere. Du kan vælge real-time grafer af førstnævnte versus evnen til at script sidstnævnte. I dette indlæg forklarer vi, hvordan du bruger værktøjer til overvågning af servere til at få et omfattende overblik over din databaseinfrastruktur.
brug af T-SEKL-forespørgsler
du kan overvåge din Server ved at bruge sit eget forespørgselssprog, T-SEKL, til at indsamle metrics. TDC-forespørgsler er fleksible. Du kan køre dem med et grafisk styringsværktøj som SSMS eller et kommandolinjeværktøj som sqlcmd
. Og da de udføres og returnerer data ligesom enhver anden databaseforespørgsel, kan du nemt indarbejde dem i en hjemmelavet automatiseret overvågningsløsning. I dette afsnit viser vi, hvordan forespørgsler kan være et effektivt værktøj til overvågning af servere, uanset om du bruger dynamiske administrationsvisninger, indbyggede funktioner, lagrede procedurer eller systemdataindsamlingssæt.
dynamiske ledelsesvisninger
vi sporer data om sin egen sundhed og ydeevne og gør disse oplysninger tilgængelige via dynamiske ledelsesvisninger (DMVs). Da DMV ‘ er vises som virtuelle tabeller, egner de sig til både ad hoc og automatiseret forespørgsel. Nogle DMV ‘ er Returnerer den aktuelle værdi af en metrisk eller indstilling (f. eks., den aktuelle størrelse af transaktionsloggen i megabyte). Andre, især metrics for satser inden for præstationstællerne DMV, måler værdier med jævne mellemrum og tager forskellen mellem på hinanden følgende prøver (f.eks. Du kan læse om specifikke DMV ‘ er i SERVERDOKUMENTATIONEN.
hvis du overvåger DMV-serveren med dynamiske styringsvisninger, vil du sandsynligvis spørge DMV-tællerne, sys.dm_os_performance_counters
. Hver server ydeevne objekt (som kan repræsentere alt fra en database til planen cache) opretholder sit eget sæt af ydeevne tællere, som kort til mange af de kategorier af målinger diskuteret i Del 1:.
du kan f. eks. forespørge på DMV-ydelsestællere for at få vist data fra bufferadministratorens ydeevneobjekt og begrænse resultaterne til metrics med ikke-nulværdier:
SELECT object_name, counter_name, cntr_value FROM sys.dm_os_performance_counters WHERE object_name="SQLServer:Buffer Manager" AND cntr_value != 0;GO
Du får et resultat svarende til dette (men med mange flere rækker!):
object_name counter_name cntr_value---------------------------------------------------------------------------------------SQLServer:Buffer Manager Buffer cache hit ratio 30SQLServer:Buffer Manager Buffer cache hit ratio base 30SQLServer:Buffer Manager Page lookups/sec 11091500SQLServer:Buffer Manager Database pages 5819SQLServer:Buffer Manager Target pages 212992SQLServer:Buffer Manager Integral Controller Slope 10
du kan finde en liste over de tilgængelige dynamiske ledelsesvisninger organiseret efter kategori her. Inden for hver kategori er visningerne forskellige-mens nogle beregner præstationsmålinger og outputnumre, rapporterer andre navne og egenskaber. Du kan liste noderne i en klynge, hente indeksforbrugsdata og få statistikker for dine eksekveringsplaner som færdiggørelsestid og ressourceforbrug. Og da dynamiske ledelsesvisninger opfører sig som tabeller, kan du bruge indbyggede funktioner til at samle og rangordne dataene.
det er vigtigt at kontrollere dokumentationen for enhver DMV, du planlægger at bruge. En af grundene er, at DMV ‘ er kræver forskellige tilladelser, og dokumentationen for hver DMV forklarer det krævede niveau. En anden grund er, at DMV ‘ er kan indeholde tusindvis af rækker, og kolonner kan ændre sig med nye versioner af
indbyggede funktioner
vi har også indbyggede funktioner, der hjælper dig med at få adgang til systemoplysninger. I modsætning til dynamiske ledelsesvisninger, der returnerer data i form af virtuelle tabeller, returnerer indbyggede funktioner systemdata som enkelt numeriske værdier, beregnet siden serveren sidst blev startet. Du kan kalde hver indbygget funktion som argumentet for en SELECT
erklæring. Bruge den indbyggede funktion @@connections
til at returnere summen af vellykkede og mislykkede forbindelser over tid:
SELECT @@connections AS "Total Connections";GO
du modtager output svarende til:
Total Connections----------------- 1571
indbyggede funktioner ligner undertiden dynamiske ledelsesvisninger. @@connections
svarer til User Connections
tælleren inden for objektet generel statistik. Men mens User Connections
sporer antallet af aktuelt tilsluttede brugere, øges @@connections
hver gang en bruger forsøger at logge ind (selvom forsøget ikke lykkes).
den eneste indbyggede systemstatistikfunktion, der ikke returnerer en enkelt numerisk værdi, er sys.fn_virtualfilestats
, som returnerer en tabel med data på disk I/O for databasefiler og giver de samme oplysninger som sys.dm_io_virtual_file_stats
dynamisk styringsvisning.
systemlagrede procedurer
Redaktørens note:
en anden indbygget funktion, du kan bruge til at forespørge metrics, er den systemlagrede procedure. De fleste lagrede procedurer hjælper med administrative opgaver såsom at vedhæfte en database eller tilføje et login, men nogle lagrede procedurer rapporterer metrics. For eksempel måler sp_spaceused
diskforbrug i en database. Du kalder systemlagrede procedurer med EXEC
i stedet for SELECT
udsagn. Denne kommando kalder sp_spaceused
gemt procedure ,som returnerer diskbrugsoplysninger som to resultatsæt (det vil sige to tabelrækker, hver række inklusive forskellige kolonner):
EXEC sp_spaceused;GO
udgangen vil have et lignende format til følgende:
database_name database_size unallocated space--------------- ----------------- ---------------------master 6.00 MB 0.52 MBreserved data index_size unused--------------- ----------------- ------------------ ------------3568 KB 1536 KB 1600 KB 432 KB
systemdataindsamlingssæt
hvis du bruger T-SEKL-forespørgsler til at indsamle metrics fra T-SEKL-serveren, og du vil være i stand til at gemme dataene og generere rapporter, kan du overveje at bruge T-SEKL-serverens indsamlingssæt. Et samlingssæt trækker data fra en række rapporteringskommandoer og dynamiske ledelsesvisninger og sender dataene til en dedikeret database kaldet et Ledelsesdatalager.
processen er afhængig af Serverintegrationstjenester for at automatisere opgaven med at forespørge databasen og skrive resultaterne til Ledelsesdatalageret.
f.eks. forespørger diskforbrugsopsamlingssættet sys.dm_io_virtual_file_stat
dynamisk styringsvisning og andre visninger som sys.partitions
og sys.allocation_units
. Du kan også oprette et brugerdefineret samlingssæt, der korrigerer en sekvens af T-SEKVENSFORESPØRGSLER til et periodisk job, der kører i baggrunden. Du kan lære mere om konfiguration af Datastyringslageret her.
Server Management Studio
Server Management Studio (SSMS) er et grafisk miljø, der hjælper dig med at overvåge dit system på flere måder:
- live statistik i Aktivitetsmonitoren
- et datarigt kort over en given forespørgsel
- rapporter, der kombinerer tabeller, grafer og tekst i et printervenligt format
for at bruge SSMS skal du hente det på en af dine værter, åbne installationsprogrammet og følge anvisningerne. Programmet kan overvåge eksterne forekomster af 0.0.0.0,0000
(Bemærk kommaet). Vælg “authentication” i rullemenuen “Authentication”, og udfyld brugernavnet (“Login”) og adgangskoden.

hvis du har oprettet forbindelse, vil du se vinduet” Objektudforsker ” udfylde med et filtræ, der viser komponenterne i din SERVERFOREKOMST, herunder databaser. Du kan derefter overvåge din forekomst med funktionerne vist nedenfor.
Aktivitetsmonitor
Aktivitetsmonitoren gør det muligt at se metrics i realtid med et galleri med grafer, en oversigt over processer og statistikker om dine forespørgsler. Hvis du allerede bruger SSMS til administrationsopgaver som konfiguration af ressourcepuljer eller oprettelse af tabeller, er aktivitetsovervågningen let at føje til din arbejdsgang. For at bruge Aktivitetsmonitoren skal du skrive “Ctrl-Alt-A” eller klikke på ikonet i SSMS-værktøjslinjen.

du kan bruge Activity Monitor til at få indsigt i efterspørgslen i realtid på din serverinstans. Afsnittet” Oversigt ” viser fire grafer, der viser arbejds-og ressourcemålinger i realtid. Som standard opdateres disse målinger hvert 10.sekund, men du kan opdatere opdateringsintervallet ved at højreklikke på ruden “oversigt”. Mens opdateringsintervallet kan være så hyppigt som en gang i sekundet, kommer dette med ydelsesomkostningerne ved hyppigere databaseforespørgsler.
ruden “seneste dyre forespørgsler” i aktivitetsskærmen kan hjælpe med at give de oplysninger, du har brug for for at gøre dine forespørgsler mere effektive. Her finder du forespørgselsrelaterede metrics som eksekveringer pr.minut, fysiske aflæsninger pr. sekund og antallet af dubletter af en eksekveringsplan i cachen. Hvis en enkelt eksekveringsplan har et stort antal dubletter eller eksekveringer pr. minut, kan du muligvis øge ydeevnen ved at bruge forespørgselstip som beskrevet i Del 1.
Aktivitetsmonitoren giver et praktisk overblik på højt niveau over din database, men den har sine grænser. For det første kan du ikke justere størrelserne på graferne eller de målinger, de viser. Du kan heller ikke ændre den måde, hvorpå aktivitetsovervågningen samler sine statistikker for forespørgselseffektivitet, eller se data ud over det forudindstillede displayvindue.
visualisering af forespørgsler
SSMS kan hjælpe dig med at optimere forespørgselsydelsen ved at gøre det muligt for dig at visualisere, hvordan vi udfører vores forespørgselsplaner, og vise dig den ressourceforbrug, der er forbundet med at udføre hvert trin i en forespørgselsplan. Som vi diskuterede i Del 1, kompilerer vi batcher af T-SEKL-udsagn ved hjælp af en automatisk optimering til at omdanne batchen til en eksekveringsplan. Du kan inspicere en eksekveringsplan i SSMS som et diagram over beregningstrin og finde ud af nøjagtigt, hvordan optimeringen fortolkede din batch. For at visualisere en forespørgsel skal du navigere til Aktivitetsovervågningens rude “seneste dyre forespørgsler”, højreklikke på en af forespørgslerne og klikke på “Vis eksekveringsplan.”Det synspunkt, der følger, vil se sådan ud:

hvis du holder musen over en node i diagrammet, du kan se en kort forklaring af det trin, noden repræsenterer, samt en hurtig aflæsning af knudepunktets “estimerede Operatøromkostninger.”Denne værdi beregnes af SERVEROPTIMERINGEN, når forespørgslen udføres. Da optimeringsprocessen er automatisk, giver dette dig en måde at kontrollere, at dine batches er samlet efter hensigten. Og fordi hvert trin i udførelsesplanen er scoret efter omkostninger, kan du se, hvilke trin du skal fokusere på, hvis du vil øge ydeevnen.
i dette eksempel kan vi se, at Compute Scalar
(konvertering af en streng til en svømmer) er minimal med nul omkostninger i udførelsesplanen. Den dyreste operation er en optimeringsteknik, tabel spooling, som kopierer rækker i et skjult midlertidigt bord.
rapporter
SSMS tilbyder 20 standardrapporter, der giver en højhøjdeundersøgelse af installationen af din server, lige fra databasens ressourceforbrug til Historiske data om skemaændringer og databasekonsistens. Du kan finde en detaljeret oversigt over rapporterne her.

rapporterne er rettet i layout og indhold—de viser data, der er tilgængelige i det øjeblik, du opretter rapporten, i stedet for at opdatere i realtid. Interaktivitet i standardrapporterne er begrænset. Du kan sortere nogle tabeller efter kolonne og udvide andre, når oplysninger er indlejret. Det faste layout gør det nemt at oprette udskrifter eller dokumenter (PDF, ord og udmærke sig).
i 2017 tilføjede Microsoft Performance Dashboard-rapporten, der viser CPU-udnyttelse, aktuelle optællinger af brugersessioner og anden systeminformation til SERVERFOREKOMSTER.
for at generere en rapport skal du højreklikke på navnet på en database i Objektstifinder, holde musen over “rapporter” og derefter over “standardrapporter” og vælge en rapport i menuen.
hvis du ikke kan finde den visning, du har brug for fra SSMS-standardrapporterne, kan du oprette en brugerdefineret rapport. Brugerdefinerede rapporter er skrevet i Rapportdefinitionssprog (RDL), en udvidelse af RDL. Når du har angivet strukturen i en brugerdefineret rapport, kan du udfylde den i menuen “Rapporter” ved at klikke på “brugerdefinerede rapporter.”Disse forbliver adskilt fra listen over standardrapporter.
det er også værd at bemærke, at Microsoft har udviklet flere værktøjer til oprettelse af grafiske rapporter, der går ud over funktionaliteten af SSMS. Bi kan visualisere data fra en række kilder, herunder
Performance Monitor
vinduer Performance Monitor hjælper dig med at visualisere ressourceforbrug på systemniveau fra dine vinduer værter, og giver dig mulighed for at korrelere disse målinger med Server ydeevne tællere i timeseries grafer.

Performance Monitor er indbygget i vinduerne operativsystem. For at bruge det skal du åbne vinduet Kør fra Startmenuen og indtaste programnavnet perfmon
. En realtidsgraf vises i navigationstræet under “overvågningsværktøjer.”Du kan derefter vælge serverydelsestællere og systemressourcemålinger, du gerne vil plotte, og bruge indstillingerne til at style dine grafer.

rigere værktøjer til overvågning af Server i realtid
i dette indlæg har vi vist, hvordan du bruger værktøjer til overvågning af Server i realtid og indbyggede funktioner til at generere oversigter i realtid af dine databaser samt til at få detaljerede, on-demand data om serverens sundhed og ydeevne.
i den næste del af denne serie viser vi dig, hvordan du bruger Datadog til at indsamle, tegne og advare om realtids-og Historiske data. Vi viser dig også, hvordan du konfigurerer dashboards med træk-og-slip-visualiseringer og korrelerer metrics for servere med data fra hele din stak.
Write a Reply or Comment