web-dev-qa-db-fra.com

renommer le nom de la base de données dans SQL Server Management Studio 2014

J'ai une base de données appelée "ip_ent_site". Et je veux le renommer "ip_ent_site1" par exemple.

enter image description here

J'ai fait un clic droit et renommé, la sauvegarde a échoué . Voici le message d'erreur:

enter image description here

Quelqu'un peut aider?

32
user4939121

C'est parce qu'il y a des transactions ouvertes. Si ces transactions peuvent être tuées, cela peut être facilement fait avec ce SQL

ALTER DATABASE ip_ent_site
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
sp_rename 'ip_ent_site', 'new_db_name' ,'DATABASE';
GO
ALTER DATABASE new_db_name
SET MULTI_USER
GO
34
Raj

La raison en est que la base de données doit empêcher toute autre connexion/transaction à la base de données lorsque vous la renommez.

Un script simple pour obtenir un verrou sur la base de données:

ALTER DATABASE [ip_ent_site] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

ALTER DATABASE [ip_ent_site] MODIFY NAME = [ip_ent_site_new]
GO

ALTER DATABASE [ip_ent_site_new] SET MULTI_USER;    
GO
11
Ranbeer M

Avant de renommer, définissez la base de données en mode mono-utilisateur MSDN

USE master;
GO
ALTER DATABASE ip_ent_site
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;

Puis le renommer

USE master
GO
ALTER DATABASE ip_ent_site
Modify Name = ip_ent_site1
GO

Et puis remettez-le en mode multi-utilisateur

ALTER DATABASE ip_ent_site1
SET MULTI_USER;
11
sqluser

Pour permettre la capacité de

clic droit et renommer

la DB:

  1. Fermer toutes les fenêtres de requête
  2. Clic droit et renommer la base de données
5
Danny Mahoney

Exécuter la requête ci-dessous

UTILISER le maître;
ALLER
sp_renamedb @dbname = 'old_name', @newname = 'new_name' 

1
Developer_29

C'est le moyen le plus simple de renommer le nom de la base de données. Assurez-vous simplement d'avoir fermé toutes les fenêtres de requête avant d'exécuter cette commande.

EXEC sp_renamedb 'ancien_nom', 'nouveau_nom'

1
Sachin Pakale

S'il vous plaît essayez ceci, cela fonctionnera.

ALTER DATABASE GWPRD_CMCC - ancien nom de la base de données

SET SINGLE_USER WITH ROLLBACK IMMEDIATE

GO ALTER DATABASE GWPRD_CMCC --old nom de la base de données

MODIFY NAME = GWPRD_CMCC_1 --new db name

GO ALTER DATABASE GWPRD_CMCC_1 --nom nouveau nom de la base de données SET MULTI_USER GO

0
Pani

Ne devrions-nous pas également changer le 'Nom de fichier logique'?

ALTER DATABASE [testdb] MODIFY FILE (NAME=N'testdbold ', NEWNAME=N'testdb') GO ALTER DATABASE [testdb] MODIFY FILE (NAME=N'testdbold', NEWNAME=N'testdb_log') GO

0
Khan

Renommer le nom de la base de données SQL à l'aide de la requête 

utilisez [master] go

Modifier la base de données Old_database_name Modify name = New_database_name

ou 

sp_renameDB 'ancien_nom_base', 'nouveau_nom_base'

0
Md Ashikul Islam

Exécutez la procédure système sp_who2 pour connaître les sessions utilisant la base de données, puis fermez les applications ou supprimez les sessions avec la commande kill .

0
Igor Borisenko