Supprimer un fichier de données

Je suis tombé sur le problème récemment, suite à une compression de table, j’ai du agrandir la base temporairement afin d’effectuer la compression des données de ma table et par la suite la remettre à sa taille initiale.

Ajouter un fichier de données

Le problème, c’est que ce nouveau fichier comporte des données et il est donc impossible à supprimer.

Le problème est finalement assez simple, il suffit de forcer SQL server à déplacer les données de ce fichier vers un autre (il faut bien sur s’assurer d’avoir assez de place).
La commande SHRINKFILE va nous aider à réduire le fichier, et même à la vider entièrement avec l’option EMPTYFILE. SQL Server va alors déplacer toutes les données de ce fichier vers les autres, sans aucune perte.

Une fois la commande passé (ça peut prendre du temps en fonction de la taille des fichiers bien-sur), il suffit de supprimer le fichier par l’explorateur ou bien en transaction :

Voila, le fichier est supprimer.

PS : Il existe aussi la version du menu pour le faire :
Clique droit sur AdventureWorksDW2012 => Tasks => Shrink = File
et coché l’option « Empty file by migrating the data to other files in the same filegroup ».

Vider un fichier de données

Cet article a été publié dans SQL. Enregistrer le permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *