Renommer une base de données
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance
Cet article décrit comment renommer une base de données définie par l’utilisateur dans SQL Server, base de données Azure SQL ou Azure SQL Managed Instance à l’aide de SQL Server Management Studio (SSMS) ou Transact-SQL (T-SQL). Le nom de la base de données peut contenir n'importe quel caractère conforme aux règles applicables aux identificateurs.
Remarque
Pour renommer une base de données dans Azure Synapse Analytics ou Parallel Data Warehouse, utilisez l’instruction RENAME.
Limites
Les bases de données système ne peuvent pas être renommées.
Le nom de la base de données ne peut pas être modifié tant que d’autres utilisateurs accèdent à la base de données.
Utilisez SSMS pour rechercher d’autres connexions à la base de données, puis fermez-les. Pour plus d’informations, consultez Ouvrir le Moniteur d’activité dans SQL Server Management Studio (SSMS).
Dans SQL Server, vous pouvez définir une base de données en mode mono-utilisateur pour fermer toutes les connexions ouvertes. Pour plus d’informations, consultez Définir la base de données en mode mono-utilisateur.
Dans Azure SQL Database, vous devez vérifier qu’aucun autre utilisateur n’a une connexion ouverte à la base de données à renommer.
Le fait de renommer une base de données ne change pas le nom physique des fichiers de base de données sur le disque, ni les noms logiques des fichiers. Pour plus d'informations, consultez Database Files and Filegroups.
Il n’est pas possible de renommer une base de données Azure SQL configurée dans une relation de géoréplication active.
autorisations
Requiert l'autorisation ALTER
sur la base de données.
Utiliser SQL Server Management Studio (SSMS)
Utilisez les étapes suivantes pour renommer une base de données SQL Server ou Azure SQL avec SSMS.
Dans SSMS, sélectionnez Explorateur d’objets. Pour ouvrir l’Explorateur d'objets, appuyez sur F8. Ou dans le menu du haut, sélectionner Affichage>Explorateur d’objets :
Dans l’Explorateur d’objets, connectez-vous à une instance de SQL Server et développez-la.
Vérifiez qu’il n’y a aucune connexion ouverte à la base de données. Si vous utilisez SQL Server, vous pouvez définir la base de données en mode mono-utilisateur pour fermer toutes les connexions ouvertes et empêcher les autres utilisateurs de se connecter pendant que vous modifiez le nom de la base de données.
Dans l’Explorateur d’objets, développez Bases de données, cliquez avec le bouton droit sur la base de données à renommer, puis sélectionnez Renommer.
Entrez le nouveau nom de la base de données, puis sélectionnez OK.
Si la base de données était votre base de données par défaut, consultez Réinitialiser votre base de données par défaut après l’avoir renommée.
Actualisez la liste des bases de données dans l’Explorateur d’objets.
Utiliser Transact-SQL
Renommer une base de données SQL Server en la plaçant en mode mono-utilisateur
Procédez comme suit pour renommer une base de données SQL Server à l’aide de T-SQL dans SSMS, y compris les étapes à suivre pour placer la base de données en mode mono-utilisateur. Après le renommage, cet exemple place la base de données en mode multi-utilisateur.
Connectez-vous à la base de données
master
pour votre instance.Ouvrez une fenêtre de requête.
Copiez et collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter. Cet exemple modifie le nom de la base de données
MyTestDatabase
enMyTestDatabaseCopy
.Avertissement
Pour obtenir rapidement un accès exclusif, l’exemple de code utilise l’option d’arrêt
WITH ROLLBACK IMMEDIATE
. Dans ce cas, toutes les transactions incomplètes sont annulées et toutes les autres connexions à la base de donnéesMyTestDatabase
sont immédiatement déconnectées.USE master; GO ALTER DATABASE MyTestDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy; GO ALTER DATABASE MyTestDatabaseCopy SET MULTI_USER; GO
Si besoin, si la base de données était votre base de données par défaut, consultez Réinitialiser votre base de données par défaut après l’avoir renommée.
Renommer une base de données base de données Azure SQL
Utilisez les étapes suivantes pour renommer une base de données Azure SQL avec T-SQL dans SQL Server Management Studio.
Connectez-vous à la base de données
master
pour votre instance.Ouvrez une fenêtre de requête.
Vérifiez que personne n’utilise la base de données.
Copiez et collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter. Cet exemple modifie le nom de la base de données
MyTestDatabase
enMyTestDatabaseCopy
.ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy;
Sauvegarde après le renommage d’une base de données
Après avoir renommé une base de données dans SQL Server, sauvegardez la base de données master
. Dans la base de données Azure SQL, ce processus n'est pas nécessaire, car les sauvegardes se font automatiquement.
Réinitialiser votre base de données par défaut après l’avoir renommée
Si la base de données que vous renommez a été définie en tant que base de données par défaut d’une connexion SQL Server, elle peut rencontrer l’erreur 4064, Can't open user default database
. Utilisez la commande suivante pour faire de la base de données renommée la base de données par défaut :
USE [master]
GO
ALTER LOGIN [login] WITH DEFAULT_DATABASE=[new-database-name];
GO