Étapes pour déplacer les fichiers de base de données SQL Server vers un emplacement différent
Lorsque vous travaillez avec SQL Server, il peut être nécessaire de déplacer les fichiers de base de données vers un autre emplacement — que ce soit pour optimiser le stockage, améliorer les performances ou pour des raisons organisationnelles. Ce guide décrit deux méthodes sûres pour déplacer les fichiers de base de données SQL tout en assurant un temps d'arrêt minimal et l'intégrité des données.
Pré-requis
- SQL Server Management Studio (SSMS) : Téléchargez et installez à partir du lien ci-dessous si vous ne l'avez pas déjà : Télécharger SSMS
- Sauvegarde complète requise : Prenez toujours une sauvegarde complète de la base de données et vérifiez-la avant de continuer.
Étape 1 : Effectuer une sauvegarde complète de la base de données
Avant de continuer, exécutez la commande SQL suivante pour créer une sauvegarde de la base :
BACKUP DATABASE [<Nom de la base de données>]
TO DISK = 'C:\Backup\<Nom de la base de données>.bak'
WITH INIT, COMPRESSION, NAME = '<Nom de la base de données> - Sauvegarde complète';
Remplacez <Nom de la base de données> par le nom réel de votre base. Assurez-vous que :
- La sauvegarde s'effectue avec succès.
- Le fichier de sauvegarde est vérifié et stocké en lieu sûr.
Étape 2 : Procéder au déplacement des fichiers de base de données
Une fois la sauvegarde créée et vérifiée avec succès, procédez aux étapes ci-dessous.
Deux principales méthodes existent pour déplacer les fichiers de base de données SQL Server :
- Utilisation de SQL Server Management Studio (méthode interface utilisateur)
- Utilisation de scripts SQL dans SSMS (méthode T-SQL)
Option 1 : Déplacer les fichiers via SQL Server Management Studio (interface utilisateur)
- Ouvrez SSMS et faites un clic droit sur la base de données à déplacer → Propriétés.

- Localisez et notez les chemins actuels des fichiers (MDF et LDF).

- Allez dans le chemin du système de fichiers pour confirmer que les fichiers existent.

- Dans SSMS, clic droit sur la base → Tâches → Détacher.

- Dans la fenêtre, cochez Fermer les connexions → cliquez sur OK.

- Créez un nouveau dossier à l'emplacement souhaité, puis déplacez les fichiers MDF et LDF dans ce dossier.


- Dans SSMS, clic droit sur Bases de données → Attacher.

- Cliquez sur Ajouter pour inclure les fichiers à l'emplacement désiré.

- Naviguez jusqu’au nouvel emplacement, sélectionnez le fichier MDF → cliquez sur OK.

- Confirmez le nom de la base de données et cliquez de nouveau sur OK.

- Vérifiez que la base apparaît dans SSMS sous dossier parent.

- Cliquez droit sur la base → Propriétés → Fichiers pour vérifier le nouveau chemin.

- Ouvrez une nouvelle fenêtre de requête.

- Exécutez une requête simple pour valider l'accès à la base.


- Vérifiez les résultats.

- Cliquez droit sur le serveur → Propriétés.

- Dans Paramètres de la base, mettez à jour les emplacements par défaut pour les fichiers de données et journaux vers le nouveau chemin. Cliquez sur OK.

Option 2 : Déplacer les fichiers à l’aide de scripts T-SQL dans SQL Server Management Studio
- Mettre la base de données hors ligne.
USE master; GO ALTER DATABASE <Nom de la base de données> SET OFFLINE; - Déplacez manuellement les fichiers physiques (MDF et LDF) de l'ancien emplacement vers le nouveau dossier.
- Modifiez la base de données pour indiquer les nouveaux chemins des fichiers de base et de journal.
USE master; GO ALTER DATABASE <Nom de la base de données> MODIFY FILE (NAME = <Nom de la base de données>, FILENAME = 'D:\SQLDBs\MSQL\VE_DB\<Nom de la base de données>.mdf'); ALTER DATABASE <Nom de la base de données> MODIFY FILE (NAME = <Nom de la base de données>_log, FILENAME = 'D:\SQLDBs\MSQL\VE_DB\<Nom de la base de données>_log.ldf'); - Remettez la base de données en ligne.
USE master; GO ALTER DATABASE <Nom de la base de données> SET ONLINE;
Exemple
Si votre base de données s’appelle VE_demopfc :
-- Étape 1 : Mettre la base hors ligne
USE master;
GO
ALTER DATABASE VE_demopfc SET OFFLINE;
-- Étape 2 : Déplacer manuellement les fichiers vers le nouvel emplacement
-- Étape 3 : Mettre à jour les chemins des fichiers
USE master;
GO
ALTER DATABASE VE_demopfc
MODIFY FILE (NAME = VE_demopfc,
FILENAME = 'D:\SQLDBs\MSQL\VE_DB\VE_demopfc.mdf');
ALTER DATABASE VE_demopfc
MODIFY FILE (NAME = VE_demopfc_log,
FILENAME = 'D:\SQLDBs\MSQL\VE_DB\VE_demopfc_log.ldf');
-- Étape 4 : Remettre la base en ligne
USE master;
GO
ALTER DATABASE VE_demopfc SET ONLINE;
Notes finales
- Vérifiez toujours le bon fonctionnement de la base après le déplacement des fichiers.
- Assurez-vous que SQL Server dispose des permissions nécessaires sur le système de fichiers pour le nouvel emplacement.
- Mettez à jour les emplacements par défaut des bases de données si vous souhaitez que les nouvelles bases utilisent automatiquement le nouvel emplacement.