sqlinsight-pro/docs/analyse.md
Søren Eggert Lundsteen Olsen 554a6a71f5 Time window analysis: what happened between 03 and 04, as a page and PDF
SQLInsight Web: /instanser/{navn}/analyse?fra=&til= (datetime-local in the
display time zone; presets last hour, tonight 00-06, yesterday; at most 31
days). "Analysér et tidsrum" on the instance page, and blocking/deadlock
times there open the window half an hour around the event.

For the window: load (CPU, batch requests, compilations, PLE, connections,
memory grants pending, blocked processes) from 5-minute samples within
Retention:RawDays, otherwise hourly history (shown on the page); waits per
minute against the same hours and weekday of the previous 4 weeks, with
clear deviations marked; top SQL sortable by CPU, duration, reads and
executions; file I/O latency; blocking chains; deadlocks; findings active
in the window. An empty window explains the retention. "Hent som PDF"
renders the same via MigraDoc (/analyse.pdf).

Docs: docs/analyse.md (also on the community site); databehandling.md: the
statement text stays in the customer's repository and is never sent to
the hub.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 15:46:56 +02:00

3.5 KiB
Raw Permalink Blame History

Analyse af tidsrum

Hvad skete der på en instans mellem fx kl. 03 og 04 den 20. september? Siden Analyse af tidsrum viser det ud fra det, agenten har gemt, på samme måde som Statspack/AWR i Oracle.

Åbn en instans i webbrugerfladen, og vælg Analysér et tidsrum. Tidspunkterne i listerne over blocking og deadlocks på instansens side er også links: de åbner tidsrummet en halv time før og efter hændelsen.

Angiv fra og til (i webbrugerfladens tidszone, SQLInsight:Web:TimeZone), eller vælg Seneste time, I nat 00–06 eller I går. Højst 31 dage ad gangen. Hent som PDF giver det samme som rapport.

Indhold

Afsnit Hvad
Belastning Forløb af CPU (SQL Server og andre processer), batch requests og compilations pr. sekund, page life expectancy, brugerforbindelser, memory grants pending og blokerede processer
Største ventetider Ventetid pr. minut i tidsrummet, sammenlignet med normalen. Harmløse baggrundsventetider er udeladt
Tungeste forespørgsler De forespørgsler, der brugte mest CPU, tid, læsninger eller blev kørt flest gange i tidsrummet, med tekst og database
I/O-latens pr. fil Læsninger, skrivninger og gennemsnitlig latens pr. databasefil
Blocking og deadlocks Blocking-kæder over 5 sekunder (head blocker, antal blokerede, længste ventetid) og deadlocks med graf (.xdl)
Fund Fund, der var aktive på et tidspunkt i tidsrummet

Normalen er samme klokkeslæt og ugedag de 4 foregående uger (timeværdier). En ventetid markeres med rødt, når den er mindst dobbelt så høj som normalt og udgør mindst 5 % af ventetiden i tidsrummet. En måling markeres, når gennemsnittet er mindst 50 % værre end normalt (for page life expectancy: halvt så højt). Uden historik vises normalen som "–".

Hvor langt tilbage

Kun tidsrum, hvor agenten kørte og data stadig er gemt:

Data Opbevaring (standard, SQLInsight:Retention)
Målinger hvert 5. minut: belastning, ventetider, I/O, forespørgsler 14 dage (RawDays)
Timeværdier: belastning og ventetider 400 dage (HourlyDays)
Blocking og deadlocks 90 dage (EventDays)

Ligger tidsrummet længere tilbage end RawDays, bruges timeværdier. Det står på siden. Så er der ingen I/O pr. fil og ingen forespørgsler, men belastning og ventetider kan stadig sammenlignes.

Tungeste forespørgsler

Agenten læser sys.dm_exec_query_stats hvert 5. minut (collector query-stats, kan ændres med SQLInsight:CollectorIntervals) og gemmer, hvad hver forespørgsel brugte siden sidst:

  • Forespørgsler med samme struktur men forskellige værdier tælles som én (query_hash). På SQL Server 2005 er en forespørgsel en sætning i en batch.
  • Kun de forespørgsler, der har kørt siden sidst, og blandt dem de 50 tungeste efter CPU, tid, læsninger og antal kørsler. Teksten gemmes én gang, højst 4.000 tegn. Ingen planer.
  • En plan, der er kompileret om eller smidt ud af plan cache, starter forfra. Der tælles aldrig negativt. Efter en genstart af SQL Server går der én måling, før der er tal igen.
  • Tal er kun så præcise som plan cache: forespørgsler med OPTION (RECOMPILE) eller planer, der smides ud mellem to målinger, kan mangle.

Rettigheden er VIEW SERVER STATE fra grant-least-privilege.sql. SQL Server 2000 har ikke DMV'en, så her er der ingen forespørgselsstatistik.

Forespørgselstekst er kundedata. Den gemmes kun i kundens eget repository, vises kun i webbrugerfladen og i PDF'en hos kunden, og sendes aldrig til SQLInsight Hub. Se databehandling.md.