É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 :

  1. Utilisation de SQL Server Management Studio (méthode interface utilisateur)
  2. 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.
    Sélectionner la base SQL à déplacer
  • Localisez et notez les chemins actuels des fichiers (MDF et LDF).
    Noter les chemins des fichiers MDF et LDF
  • Allez dans le chemin du système de fichiers pour confirmer que les fichiers existent.
    Confirmer les chemins des fichiers MDF et LDF
  • Dans SSMS, clic droit sur la base → TâchesDétacher.
    Détacher la base dans SSMS
  • Dans la fenêtre, cochez Fermer les connexions → cliquez sur OK.
    Cochez fermer les connexions
  • Créez un nouveau dossier à l'emplacement souhaité, puis déplacez les fichiers MDF et LDF dans ce dossier.
    Créer un nouveau dossier pour déplacer les fichiers SQL
    Nouveau dossier contenant les fichiers MDF et LDF
  • Dans SSMS, clic droit sur Bases de donnéesAttacher.
    Attacher la base dans SQL Server Management Studio
  • Cliquez sur Ajouter pour inclure les fichiers à l'emplacement désiré.
    Ajouter fichiers MDF LDF
  • Naviguez jusqu’au nouvel emplacement, sélectionnez le fichier MDF → cliquez sur OK.
    Localiser le fichier MDF au nouvel emplacement
  • Confirmez le nom de la base de données et cliquez de nouveau sur OK.
    Confirmer le nom de la base SQL
  • Vérifiez que la base apparaît dans SSMS sous dossier parent.
    Vérifier le nom de la base sous dossier parent
  • Cliquez droit sur la base → PropriétésFichiers pour vérifier le nouveau chemin.
    Vérifier le nouveau chemin de la base SQL Server
  • Ouvrez une nouvelle fenêtre de requête.
    Ouvrir une nouvelle fenêtre de requête
  • Exécutez une requête simple pour valider l'accès à la base.
    Exécuter une requête simple
    Valider l'accès à la base SQL
  • Vérifiez les résultats.
    Vérifier les résultats de la requête
  • Cliquez droit sur le serveur → Propriétés.
    Accéder aux propriétés de SQL Server
  • 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.
    Mettre à jour l'emplacement par défaut pour les fichiers MDF LDF

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.

Visual Expert, déplacer fichiers base SQL Server, fichiers MDF LDF SQL Server, changer emplacement base SQL Server, déplacer fichiers base avec T-SQL