Renommer une base de données
S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
Cet article explique comment renommer une base de données définie par l’utilisateur dans SQL Server, Azure SQL Database ou Azure SQL Managed Instance à l’aide de SQL Server Management Studio (SSMS) ou de 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.
Note
Pour renommer une base de données dans Azure Synapse Analytics ou Parallel Data Warehouse, utilisez l’instruction RENAME (Transact-SQL).
Limitations et restrictions
- 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é alors que d’autres utilisateurs accèdent à la base de données.
- Utilisez le Moniteur d’activité SQL Server Management Studio 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 changement de nom d’une base de données ne modifie pas le nom physique des fichiers de base de données sur le disque ou 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
Nécessite l'autorisation ALTER sur la base de données.
Utiliser SQL Server Management Studio
Utilisez les étapes suivantes pour renommer une base de données SQL Server ou Azure SQL avec SQL Server Management Studio.
Dans SQL Server Management Studio, sélectionnez Explorateur d’objets. Pour ouvrir l’Explorateur d’objets, sélectionnez F8. Vous pouvez aussi cliquer dans le menu du haut, sélectionner Affichage, puis 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 d’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
Pour renommer une base de données SQL Server en la plaçant en mode mono-utilisateur
Utilisez les étapes suivantes pour renommer une base de données SQL Server avec T-SQL dans SQL Server Management Studio, qui comprennent notamment : placer la base de données en mode mono-utilisateur et, après le renommage, replacer 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
. Suite à celà, toutes les transactions incomplètes sont restaurées et les autres connexions à la base de données MyTestDatabase
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.
Pour renommer une base de données Azure SQL Database
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 Azure SQL Database, cela n’est pas nécessaire, car les sauvegardes se produisent 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, Cannot 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
Étapes suivantes
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de l’année 2024, nous abandonnerons progressivement le mécanisme de retour d’information GitHub Issues pour le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez :Soumettre et afficher des commentaires pour