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.
  • 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.

  1. 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 :

  2. Dans l’Explorateur d’objets, connectez-vous à une instance de SQL Server et développez-la.

  3. 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.

  4. 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.

  5. Entrez le nouveau nom de la base de données, puis sélectionnez OK.

  6. 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.

  7. 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.

  1. Connectez-vous à la base de données master pour votre instance.
  2. Ouvrez une fenêtre de requête.
  3. 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 en MyTestDatabaseCopy.

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
  1. 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.

  1. Connectez-vous à la base de données master pour votre instance.

  2. Ouvrez une fenêtre de requête.

  3. Vérifiez que personne n’utilise la base de données.

  4. 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 en MyTestDatabaseCopy.

    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