Blog

Scripter la création d’une base données


Contexte

Dernier projet en date : un client me demande de transformer un mastodonte en “basounette”, autrement dit de faire de l’échantillonnage de données afin de permettre à chaque développeur de disposer de sa propre copie d’une base de données, version light. Voici encore de quoi alimenter leurs interrogations du type : “Bah je ne comprend pas la requête marchait bien avec 10 lignes sur l’environnement de DEV et là on passe en PROD, sur 100 millions de lignes, ça passe plus. C’est quoi le problème ?” Bref, pour réaliser cette tâche d’échantillonnage, on a besoin de développer un algo et de générer une coquille vide de la base de données source. La première partie est bien évidemment la plus complexe et entre deux échantillonnages, mon pote SQL Rudi Bruchez me glisse une commande de la mort qui tue pour prendre en charge la seconde partie sans souci.

DBCC CLONEDATABASE

Selon la documentation, le principe est le suivant : créer une nouvelle base de données de destination qui utilise la même disposition de fichier comme source, mais avec une taille de fichier par défaut… Exactement ce qu’il me faut !