-- senior database administrator & bi consultant
Ronald de Groot
SQL Server draait beter als ik ernaar gekeken heb.
Senior (Azure) SQL Server DBA en SSIS/ETL/BI-consultant met ruim 30 jaar ervaring. Gespecialiseerd in performance tuning, executieplannen, indexen en migraties naar Azure.
Complexe database- & ETL/ELT-problemen, snel geanalyseerd
Sinds 1992 werk ik als freelance DBA en BI-consultant voor banken, verzekeraars, zorginstellingen, energiebedrijven en industrie. Complexe problemen analyseer ik snel en ik bedenk graag — en vlot — technische oplossingen. In een project ben ik iemand die meters maakt: door goed te plannen haal ik deadlines.
Nieuwe technologieën dagen mij uit; ik wil ze snel begrijpen en doorgronden. Zo hielp ik Stichting BKR jarenlang met de migratie van failover-clusteromgevingen naar Azure SQL Database — en werd ik door de ICT-collega's verkozen tot winnaar van de "Bruggenbouwer"-trofee voor die Azure-migraties.
Mijn hart ligt bij performance tuning: executieplannen lezen, de juiste indexen ontwerpen en van een trage query weer een snelle maken. Tegenwoordig ligt mijn focus op Microsoft Fabric, waarbij ik diezelfde ETL/ELT- en datawarehouse-ervaring toepas op Lakehouses, pipelines en semantic models.
Verder ben ik rustig, stressbestendig en hulpvaardig — en een echte doorzetter die problemen niet uit de weg gaat. Buiten het werk vind je me op de racefiets of mountainbike, of buiten met een drone in de lucht.
Certificeringen & erkenning
Microsoft Fabric
Implementing Analytics Solutions Using Microsoft Fabric (DP-600) & Implementing Data Engineering Solutions Using Microsoft Fabric (DP-700).
Microsoft Certified: Azure Database Administrator
DP-300-certificering, behaald in oktober 2020.
SSIS, SSAS & SSRS
Gecertificeerd in de volledige Microsoft BI-stack: ETL met SSIS, cubes met SSAS en rapportage met SSRS.
DTS — Data Transformation Services
Begonnen met ETL- en DBA-werk rond SQL Server DTS, de voorloper van SSIS.
-
AWARD
BKR "Bruggenbouwer"-trofee
Verkozen door alle ICT-collega's voor de hulp bij diverse Azure-migraties.
Ruim 30 jaar in het vak
Een selectie van recente opdrachten. De volledige lijst gaat terug tot 1992.
Heemskerk, FMgroup · SQL Server DBA
Datamigraties.
BMN · SQL Server DBA
Performance tuning van het ETL-loadproces.
NEP · ETL Consultant
Beheer en doorvoeren van ETL-wijzigingen in SSIS.
Stichting BKR · Azure SQL Server DBA
Migratie van databases uit failover-clusteromgevingen (o.a. CKI3, VIS, EVA, VPS, KYC) naar Azure SQL Database. Ondersteuning van scrumteams, Azure Cost & Security Management, Azure Stack HCI data sync en de Ola Hallengren maintenance solution.
EMS / ABN AMRO · DBA / BI Developer
Performance tuning en redesign van databases en ETL voor het laden van creditcardtransacties; centrale exportfunctionaliteit en cube-aanpassingen.
Greenchoice & WMD · DBA
Inrichten van Remote DBA-services; security-rapportage met de SQL Server Vulnerability Assessment voor alle databaseservers in het domein.
Menzis · DBA / BI Developer
Performance tuning, SQL Audit-implementatie in het kader van de AVG en ETL-ontwikkeling voor SAS.
WMD, Bartimeus & Marel · DBA / BI Developer
VLDB-datawarehouse voor sensor-meetwaarden (Big Data), enterprise datawarehouse met SAP en Microsoft Dynamics als bron, datawarehouse met QlikView-frontend en Azure ETL.
Propertize, Smurfit Kappa, SNS Reaal & PGGM · DBA / BI Developer
Databasemigraties, generieke SOX-audit-implementatie (DBSP Policy), conversies en ETL voor de Actuariële DataBase (dekkingsgraadrapportages, jaarrekening).
1992 — 2011 · DBA/BI-werkzaamheden voor onder andere:
Zelf gebouwde tools voor SQL Server
Naast consultancywerk bouw ik ook mijn eigen tooling — AI-ondersteund met Claude Code — voor problemen die de standaard tools niet goed oplossen.
SQLRestoreSOS: restore voor junior DBA's
Een junior developer dropte een tabel en nu moet de junior DBA het oplossen. SQLRestoreSOS is een gratis Windows-app rond Brent Ozars sp_DatabaseRestore: een volledige backupketen terugzetten, tot een exact tijdstip herstellen met STOPAT om de onbedoelde drop ongedaan te maken en een standby-kopie actueel houden met log shipping. (Engelstalig)
Probeer de tool →Log shipping to Fabric?
Grote SQL Server-tabellen naar Microsoft Fabric sturen voor analytics, zonder echte log shipping: SQLtoParquet exporteert tabellen naar Parquet, uploadt ze naar een Fabric-workspace en valideert met Spark. Bij elke run vergelijkt DuckDB de oude en nieuwe snapshot om precies te bepalen welke rijen zijn toegevoegd, gewijzigd of verwijderd — in plaats van de hele tabel opnieuw te exporteren. Zelfstandige Windows-executable, geen .NET-installatie nodig.
Probeer de tool →
SQLModelViewer
Interactieve ER-diagrammen voor SQL Server, automatisch gegenereerd uit het schema — als vervanging voor het databasediagram van SSMS, dat traag is, niet schaalt en geen zoek- of filterfunctie heeft. Resultaat: één zelfstandig HTML-bestand met pan/zoom, zoeken en isolate-mode, te openen in elke browser.
Bekijk op GitHub →SQL Server 2025 Backup/Restore Compression: A Benchmark Tool
SQL Server 2025 heeft drie backup-compressiealgoritmes — MS_XPRESS, QAT_DEFLATE en ZSTD — en geen enkele wint altijd. SQLBackupCompression is een kleine Windows-tool die alle elf backup/restore-combinaties naast elkaar test op een echte database: bestandsgrootte, doorvoer en CPU-verbruik in plaats van gokken, met live CPU-detectie die QAT_DEFLATE uitschakelt op niet-Intel hardware. Broncode en een gecompileerde build staan op GitHub. (Engelstalig)
Probeer de tool →A compass in SQL Error Atlas
Onsite maar offline vanwege security: de "SQL Error Atlas", een standalone app met vrijwel alle SQL Server errorlog-berichten plus oorzaken en oplossingen — zoeken, bladeren en runbooks, met DuckDB eronder. Zodat je bij corruptie niet in paniek de engine herstart. (Engelstalig)
Probeer de tool →Statistics Parser
Plak je STATISTICS IO/TIME-output en krijg direct duidelijke signalen — physical reads, worktables, scheve CPU/verstreken-tijd. Gratis, 100% in je browser, met optioneel een volledig rapport per e-mail.
Probeer de tool →Uit de praktijk: executieplannen & indexen
Praktische artikelen over de onderwerpen waar ik dagelijks mee werk.
Fabric demo: Azure SQL and local SQL into one warehouse table
Een PowerShell-demo die één klant uit Azure SQL en één uit een lokale SQL Server in één Fabric-warehousetabel laadt, de data met T-SQL verrijkt en als rapportagetabel publiceert. Elke stap is een script en één opruimscript haalt alles weer weg. (Engelstalig)
Lees op dbaronald.nl → -- left join · on vs whereLEFT JOIN: why your filter returns too many rows — or too few
Eén query, drie versies: boekingen filteren op het ontbreken van een factuur met status Exported of Printed levert compleet verschillende resultaten op, afhankelijk van of het filter in de ON- of de WHERE-clause staat. Eén onderliggende regel verklaart het verschil. (Engelstalig)
Lees op dbaronald.nl → -- adaptive joins · bitmap filteringExecution Plan: Adaptive Joins
SQL Server's adaptive join kiest tijdens executie dynamisch tussen een nested loop join en een hash join, aan de hand van een bitmap-filter (bloom filter) op transacties tegen een lijst geblokkeerde kaarten. Legt de mechaniek uit — false positives, memory grants en de rol van indexontwerp. (Engelstalig)
Lees op dbaronald.nl → -- duckdb · columnstoreIn The Ring.. On the Left Side DuckDB, on the Right Side We Have SQL Server Columnstore..
Een vergelijking van DuckDB en SQL Server Columnstore-indexen op de Backblaze drive-dataset (559+ miljoen rijen). Group by op een expressie versus een kale kolom blijkt cruciaal — een query van 4,7 seconden naar 0,058 seconden via aggregate pushdown. (Engelstalig)
Lees op dbaronald.nl → -- inserts · last-page contentionFaster Inserts Using OPTIMIZE_FOR_SEQUENTIAL_KEY
Benchmarks tegen last-page insert contention: tot 35% sneller zodra gelijktijdige insert-sessies het aantal schedulers overschrijdt, met stabiele doorvoer van 25.000-27.000 rijen/sec — bij weinig concurrentie nauwelijks verschil. (Engelstalig)
Lees op dbaronald.nl → -- index maintenance · fragmentatieIndex Maintenance .. the good, the bad and you decide if it's ugly..
Een oplopende IDENTITY-sleutel houdt na veel inserts ~99,7% pagedichtheid; een willekeurige GUID-sleutel eindigt op dezelfde workload op 98% fragmentatie bij 62% dichtheid. REORGANIZE versus REBUILD getest tegen Jeff Modens "Low Threshold Rebuild"-aanpak — de low-threshold strategie kostte 11x minder onderhoudstijd en eindigde tóch minder gefragmenteerd. (Engelstalig)
Lees op dbaronald.nl → -- backup chain · LSNBackup @CleanupTime constallations.. all green untill red?!
Een restore-keten die er groen uitziet maar breekt bij een point-in-time restore. Een diagnosescript controleert @CleanupTime-timing en backupjobs en laat zien waar de LSN-keten breekt — vertrouw op LSN's, niet op bestandsdatums. (Engelstalig)
Lees op dbaronald.nl → -- performance monitoring · erik darlingNew Kid in Town: SQL Server Performance Monitoring
Erik Darlings gratis PerformanceMonitor uitrollen op een Windows Server 2022-VM: metrics van vijf SQL Servers in een centrale PostgreSQL-store met webdashboard — .NET 10-runtime, serviceaccount, JSON-config en SQL-rechten, plus de certificaat- en service-identiteit-valkuilen. (Engelstalig)
Lees op dbaronald.nl → -- availability groups · log backupYour AG is healthy .. until it feels a little unwell..
Een corrupte transactionlog-backup op de primary replica — en tóch blijft de database online en meldt de Availability Group zich "gezond". Praktijkonderzoek naar het waarom, met de diagnose-aanpak in een GitHub-repo. (Engelstalig)
Lees op dbaronald.nl → -- blocking · extended eventsBlocking & Locking, please help..
Blocking systematisch vastleggen met een Extended Events-sessie op blocked_process_report, een Agent-job die elke minuut verzamelt in DBA.dbo.BlockWatch, en Erik Darlings sp_HumanEventsBlockViewer die de XML-rapporten leesbaar maakt. (Engelstalig)
Lees op dbaronald.nl → -- parameter sniffing · PSPParameter Sensitive Plans (PSP) versus Parameter Sniffing
SQL Server 2022's Parameter Sensitive Plans routeren scheve parameterwaarden naar hun eigen planvariant in plaats van één plan te forceren — gedemonstreerd op het klassieke Posts.ParentId cardinaliteitsprobleem. (Engelstalig)
Lees op dbaronald.nl → -- string functions · execution plansExecution Plans of all String Functions
Drieëndertig T-SQL stringfuncties stuk voor stuk getest tegen StackOverflow2010, elk met het bijbehorende executieplan — van ASCII tot UPPER. (Engelstalig)
Lees op dbaronald.nl → -- table variables · temp tablesTable Variables versus #Temp Tables
Tabelvariabelen hebben geen statistieken? Een veelgehoorde aanname — maar op recente SQL Server-versies kunnen geïndexeerde tabelvariabelen wél statistieken hebben, zichtbaar in het executieplan. (Engelstalig)
Lees op dbaronald.nl → -- partitioning · index maintenanceYou Want to Partition Your Huge Table.. Ok Fine.. Let's Go.
Hoe je een enorme bestaande tabel partitioneert met alleen metadata-only SWITCH-operaties en index seeks — zonder size-of-data operatie. (Engelstalig)
Lees op dbaronald.nl → -- join order · execution plansWhy Join Order Can Make or Break Your Query Performance
Zeven varianten van één query op StackOverflow2013 laten zien hoe de verkeerde build/outer-kant het grootste deel van de runtime opslokt. (Engelstalig)
Lees op dbaronald.nl → -- query plan · aiAI and Where Does Query Time Go? Using Claude's Query Plan Analysis Skill
Een scalaire functie verstopt waar de query-tijd heen gaat. Claude's plan-analyse skill legt het bloot — inline met STRING_AGG en één index lossen het op. (Engelstalig)
Lees op dbaronald.nl → -- query store · aiAutomate Executionplan Analysis by Skill and Query Store
Executieplannen uit Query Store automatisch laten analyseren door Erik Darlings execution plan-skill voor Claude Code — met performance-aanbevelingen als resultaat.
Lees op dbaronald.nl → -- ai · query tuningIs AI making an end to my job as a SQL Server query tuner?
Claude leest een executieplan en adviseert de index die een query van 73 seconden naar 435 ms brengt. Wat blijft er over voor de menselijke tuner? (Engelstalig)
Lees op dbaronald.nl → -- query processing · serieCraig Freedman herlezen: tien delen query processing
Freedmans klassieke blog (2006–2010) opnieuw getest op moderne SQL Server, met echte executieplannen. De leeswijzer bij alle tien delen.
Lees artikel → -- index maintenance · bijgewerktIndexOptimize and additions to Ola Hallengren's dbo.CommandLog
Extra kolommen die page count, fragmentatie, omvang en duur rechtstreeks uit de ExtendedInfo-XML van dbo.CommandLog halen. (Engelstalig)
Lees op dbaronald.nl → -- performance tuningExecutieplannen lezen: waar kijk je het eerst naar?
Een executieplan kan overweldigend zijn. Met deze vijf checks vind je in de meeste plannen binnen een paar minuten de boosdoener.
Lees artikel → -- indexenIndex tuning: clustered, nonclustered en included columns
De juiste index maakt het verschil tussen milliseconden en minuten. Zo kies je de kolomvolgorde en wanneer INCLUDE loont.
Lees artikel → -- alle artikelenMeer SQL tips
Bekijk het volledige overzicht van artikelen over SQL Server, performance en Azure.
Naar het overzicht →Recente projecten op GitHub
Van serverruimte naar cockpit
Als ik geen query's aan het tunen ben, vlieg ik met mijn eigen vliegtuig — de PH-3B7, een Tecnam P96 Golf. En eens een ontwikkelaar, altijd een ontwikkelaar: mijn eigen vliegtools bouwde ik in C#, AI-ondersteund met Claude Code.
NavigationPlan
Een eenvoudige maar erg handige tool voor het maken van een VFR-navigatieplan: legs, koersen, tijden en brandstof — klaar voor het kneeboard.
Bekijk op GitHub → -- C# · open source
WeightBalance
Weight & balance-calculator voor de Sonaca (Sling 2): vul brandstof, bemanning en bagage in en zie direct of je binnen de envelope zit.
Bekijk op GitHub →Een trage query of een migratie die moet slagen?
Ik help graag — van een second opinion op een executieplan tot volledige Azure SQL-migraties en remote DBA-services via OpenData.nl.