Déplacer un fichier de données/journal vers un autre emplacement
SQL ServerStockageCommande
-- 1) Tell SQL Server the new path (nothing is moved yet):
ALTER DATABASE [Customer]
MODIFY FILE (NAME = N'Customer_data',
FILENAME = N'G:\Data\Customer_data.mdf');
-- 2) Take the database offline:
ALTER DATABASE [Customer] SET OFFLINE WITH ROLLBACK IMMEDIATE;
-- 3) Physically copy/move the file to the new path AT THE OPERATING SYSTEM level (G:\Data\...).
-- 4) Bring it online:
ALTER DATABASE [Customer] SET ONLINE;Ce que fait la commande
Modifie l'emplacement physique d'un fichier de base de données : le nouveau chemin est défini dans les métadonnées, le fichier est déplacé physiquement pendant que la base est hors ligne, puis la base est remise en ligne.
Quand l'utiliser
Lors du remplacement d'un disque ou d'un déplacement vers un autre lecteur pour gagner de l'espace.
Attention
OFFLINE + ROLLBACK IMMEDIATE coupe toutes les connexions actives ; prévoyez une interruption. Ne remettez pas la base ONLINE avant d'avoir réellement copié le fichier vers le nouveau chemin dans l'OS, sinon la base passe en SUSPECT. tempdb nécessite une autre méthode (MODIFY FILE + redémarrage du service SQL Server).