Académique Documents
Professionnel Documents
Culture Documents
Objectif : renommer facilement l’intégralité des fichiers associés à une base de données.
URL : https://damienb.me/2020/03/09/renommer-les-fichiers-logiques-physiques-dune-base-de-donnees/
• Nom de la base
• Nom des fichiers logiques
• Nom des fichiers physiques
Renommage de la base
A cette étape, on va renommer l’entité « base de données », prise en compte au niveau de l’instance comme une « fédération de fichiers » (en
gros, ce que vous voyez dans l’explorateur de Management Studio).
Cette étape passe la base en SINGLE_USER, qui est nécessaire pour la suite.
1 USE [master]
2 GO
3 ALTER DATABASE [Database_1]
SET SINGLE_USER
4 WITH ROLLBACK IMMEDIATE
5 GO
6 EXEC master..sp_renamedb ' Database_1',' Database_1_EURO'
7 GO
8
Les fichiers logiques sont les noms donnés au niveau de l’instance pour identifier les fichiers physiques.
Après les fichiers logiques, on va maintenant s’attaquer aux fichiers physiques qui se trouvent en dessous.
On repère les fichiers physiques de la DB dans la vue système sys.master_files, afin d’aller ensuite les renommer dans le système de fichier
comme n’importe quel fichier.
1 USE [master]
2 GO
3 SELECT * FROM sys.master_files
4 WHERE DB_NAME(database_id) = ' Database_1_EURO'
--D:\Microsoft SQL Server\MSSQL14.SQL_INSTANCE\MSSQL\Data\ Database_1.mdf
5 --L:\Microsoft SQL Server\MSSQL14.SQL_INSTANCE\MSSQL\Data\ Database_1_log.ldf
6
On détache les fichiers de l’instance, ce qui va couper la base
1 USE [master]
2 GO
3 EXEC master.dbo.sp_detach_db @dbname = N' Database_1_EURO'
Renommage des fichiers physique de la base (ici le .mdf et le .ldf), directement depuis le système de fichier ( clic droit > Rename)
• « Database_1.mdf » devient « Database_1_EURO.mdf«
• « Database_1_log.ldf » devient « Database_1_EURO_log.ldf«
On attache à nouveau la base, en prenant en compte les nouveaux noms des fichiers
1 USE [master]
2 GO
3 CREATE DATABASE [Database_1_EURO] ON
4 ( FILENAME = N'D:\Microsoft SQL Server\MSSQL11.INSTANCE\MSSQL\Data\ Database_1_EURO.mdf'),
( FILENAME = N'L:\Microsoft SQL Server\MSSQL11.SQL_INSTANCE\MSSQL\Data\ Database_1_EURO_log.ldf')
5 FOR ATTACH
6
Vérifiez sous Mangement Studio que la base appararaît désormais correctement sous son nouveau nom.
NB : pensez à renommer également les User et les Logins associés à la base, s’ils existent.