Hoe stop je met het opnieuw uitvinden van het wiel bij het werken met SQL Server
Stel je voor dat je snel een nieuwe functie in een database moet testen of een demo-omgeving voor een klant moet opzetten. Meestal verandert dit in een zoektocht: bedenk een tabelstructuur, vul deze met min of meer realistische data, en vergeet de indexen niet. Microsoft heeft dit probleem al lang geleden opgelost door alles wat je nodig hebt om met data te werken op één plek te verzamelen.

Wat is deze repository
Het sql-server-samples project is Microsoft's officiële "sandbox." Het bevat niet alleen codefragmenten, maar volwaardige voorbeelden voor de hele Azure Data-lineup: van klassiek SQL Server tot Azure Synapse en SQL Edge.
De hoofdwaarde hier is kant-en-klare databases en scenario's. Als je net begint met het leren van SQL of wilt zien hoe complexe functies zoals In-Memory OLTP in realiteit werken, bespaart deze repository je tientallen uren.
Waar dit pakket goed voor is
De repository heeft verschillende belangrijke gebieden, elk gericht op specifieke ontwikkelaars- of databasebeheertaken.
Kant-en-klare databases voor elke taak
In plaats van lege tabellen krijg je met data gevulde projecten. De bekendste zijn:
- Wide World Importers. De moderne standaard voor SQL Server 2016 en later. Het heeft alles: van reguliere transacties (OLTP) tot analytische cubes (OLAP).
- AdventureWorks. Een klassieker waar meerdere generaties beheerders mee zijn opgegroeid. Verkrijgbaar in verschillende varianten: van lichtgewicht versies tot massive data warehouses.
- Northwind. Voor degenen die de structuur willen visualiseren, bevatten de releases zelfs een entity-diagram van deze database.
Prestatiedemonstratie
Een van de meest interessante secties is In-Memory OLTP Performance Demo. Dit is een kant-en-klare demo die duidelijk het snelheidsverschil laat zien tussen reguliere tabellen en in-memory tabellen. Wanneer je de migratie naar nieuwe technologieën voor het bedrijf moet rechtvaardigen, werken zulke cijfers beter dan welke presentatie dan ook.
Internet of Things scenario's
Voor degenen die met hardware werken, is er IoT Smart Grid. Dit is een voorbeeld van hoe SQL Server massive datastromen van sensoren verwerkt. Het demonstreert de hele cyclus: van data-opname tot real-time analytics.
Hoe hiermee te werken
De repository is enorm — meer dan 500 MB. Het volledig klonen voor één script heeft geen zin. De ontwikkelaars hebben hier rekening mee gehouden en bieden sparse checkout aan. Hiermee kun je alleen de mappen downloaden die je nodig hebt.
Zo pak je alleen de features en demomaterialen:
git clone -n https://github.com/Microsoft/sql-server-samples
cd sql-server-samples
git config core.sparsecheckout true
echo samples/features/* >> .git/info/sparse-checkout
echo samples/demos/* >> .git/info/sparse-checkout
git checkout
Trouwens, als je niet wilt rommelen met code en bouwen, bekijk dan de Releases-sectie. Er zijn kant-en-klare .bak en .bacpac bestanden. Je kunt ze met een paar klikken eenvoudig op je server deployen.
Praktische gebruiksscenario's
Ik gebruik deze materialen vaak in twee scenario's. Ten eerste voor training. Als je een collega moet uitleggen hoe partitionering of Columnstore-indexen werken, is het makkelijker om dit te demonstreren op Wide World Importers dan om diagrammen op een servet te tekenen.
Ten tweede is het een geweldige basis voor load testing. In plaats van willekeurige ruis te genereren, neem je de AdventureWorks-structuur en voer je je queries erop uit. Dit geeft veel voorspelbaardere en realistischere resultaten.
De microsoft/sql-server-samples repository is nuttig voor:
- Ontwikkelaars die realistische data nodig hebben voor het debuggen van applicaties.
- Architecten die best practices voor databaseontwerp bestuderen van de engine-bouwers zelf.
- Iedereen die Azure Synapse of SQL Edge wil uitproberen zonder tijd te besteden aan het opzetten van een omgeving vanaf nul.
Dit is niet een project dat je elke dag zult bestuderen, maar het is zeker de moeite waard om te bookmarken. Wanneer er een optimalisatie- of migratietaak opduikt, zul je jezelf bedanken dat je geen datagenerators handmatig hebt geschreven.
Gerelateerde projecten