Skip to content

Troubleshooting

1. Algemene Strategie

Stap 1 — Probleem definiëren

  • Beschrijf symptomen vs. verwacht gedrag: "als ik … doe, gebeurt er … maar ik verwacht …"
  • Enkel feiten — geen conclusies, geen vooringenomenheid
  • Dus niet: "de server is down" of "het internet ligt plat"
  • Stel vast: sinds wanneer, wanneer werkte het nog?

Stap 2 — Reproduceren

  • Kan je het probleem zelf ook veroorzaken? Telkens opnieuw?
  • Ideaal: reproduceer in een testomgeving — zo kan je zonder risico logs aanzetten en fixes uitproberen
  • Niet reproduceerbaar: alleen logs van incidenten beschikbaar → wachten op meer voorvallen of extra instrumenteren

Stap 3 — Informatie verzamelen

  • Lees de foutmelding goed
  • Doorzoek logs van alle relevante subsystemen: webserver, database, syslog
  • → Speurderswerk

Stap 4 — Oorzaak zoeken

Twee strategieën:

Strategie Aanpak
Checklist Meest frequente oorzaken blind één voor één nakijken
Bisecting Systematisch verifiëren tot waar het nog werkt — vereist kennis van de keten (webserver → applicatie → netwerk → db server)

Bvb: werkt dezelfde query rechtstreeks op de databaseserver? Dan ligt het probleem niet in de query.

Stap 5 — Oplossing uitproberen

  • Let op neveneffecten (bv. een restart kan andere problemen veroorzaken)
  • Test of de fix het probleem oplost
  • Werkt het niet? Ongedaan maken — anders maak je het erger

Workaround ≠ fix

Als na een restart het probleem weg is, heb je nog steeds niet de echte oorzaak gevonden. Je hebt een workaround, geen fix. Blijf zoeken naar de root cause.


2. Common Errors

Fout Controleer
Can't connect to SQL Server Draait de SQL Server service? Netwerk connectiviteit? Firewall?
Access denied Login, user, wachtwoord, rechten correct?
Too many connections Aantal actieve vs. max verbindingen

Too many connections — queries

-- Actieve processen bekijken
EXEC sp_who2;

-- Aantal verbindingen vs. maximum
SELECT @@CONNECTIONS, @@MAX_CONNECTIONS;

Via SSMS: Activity Monitor (rechtermuisklik op server → Activity Monitor)


3. Hulpmiddelen

PowerShell — service controleren en herstarten

# Status controleren
Get-Service -Name mssqlserver

# Herstarten
Start-Service -Name MSSQLSERVER

T-SQL — connecties per database

SELECT DB_NAME(dbid)    AS DBName,
       COUNT(dbid)      AS NumberOfConnections,
       loginame         AS LoginName
FROM   sys.sysprocesses
WHERE  dbid > 0
GROUP BY dbid, loginame;

Error Log

Via SSMS: Object Explorer → ManagementSQL Server LogsCurrent

Bevat: opstarttijdstipinfo, configuratie-instellingen, foutmeldingen, waarschuwingen.

Dynamic Management Views (DMV's)

DMV's retourneren serverstatusinformatie voor: - Status van een serverinstantie bewaken - Problemen diagnosticeren - Prestaties afstemmen

-- Overzicht beschikbare DMV's
SELECT * FROM sys.system_objects WHERE type = 'V' AND name LIKE 'dm_%';

Referentie: docs.microsoft.com — System Dynamic Management Views