Ich habe eine Datenbank namens "ip_ent_site". Und ich möchte es beispielsweise in "ip_ent_site1" umbenennen.
Ich habe mit der rechten Maustaste geklickt und umbenannt.
Kann jeder helfen?
Das liegt daran, dass es offene Transaktionen gibt. Wenn diese Transaktionen abgebrochen werden können, kann dies leicht mit dieser SQL durchgeführt werden
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
Der Grund liegt darin, dass die Datenbank beim Umbenennen andere Verbindungen/Transaktionen zur Datenbank verhindern muss.
Ein einfaches Skript, um die Datenbank zu sperren:
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
Setzen Sie vor dem Umbenennen die Datenbank in den Einzelbenutzermodus. MSDN
USE master;
GO
ALTER DATABASE ip_ent_site
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
Dann benennen Sie es um
USE master
GO
ALTER DATABASE ip_ent_site
Modify Name = ip_ent_site1
GO
Und dann wieder in den Mehrbenutzermodus wechseln
ALTER DATABASE ip_ent_site1
SET MULTI_USER;
Um die Fähigkeit zu aktivieren
rechtsklick und umbenennen
die DB:
Führen Sie die folgende Abfrage aus
USE master;
GEHEN
sp_renamedb @dbname = 'alter_name', @newname = 'neuer_name'
Dies ist die einfachste Möglichkeit, den Datenbanknamen umzubenennen. Stellen Sie nur sicher, dass Sie alle Abfragefenster geschlossen haben, bevor Sie diesen Befehl ausführen.
EXEC sp_renamedb 'alter_Name', 'neuer_Name'
Bitte versuchen Sie es, es wird funktionieren.
ALTER DATABASE GWPRD_CMCC - alter Datenbankname
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO ALTER DATABASE GWPRD_CMCC - alter Datenbankname
MODIFY NAME = GWPRD_CMCC_1 --new db name
GO ALTER DATABASE GWPRD_CMCC_1 - Neuer Datenbankname SET MULTI_USER GO
Sollten wir nicht auch 'Logical File Name' ändern?
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
Benennen Sie den SQLDatabase-Namen mit Query um
verwenden Sie [Master] .__
Datenbank ändern Alter_Datenbankname Ändern Sie den Namen = Neuer_Datenbankname
oder
sp_renameDB 'alter_dbname', 'neuer_dbname'
Führen Sie die Systemprozedur sp_who2
aus, um Sitzungen zu ermitteln, die die Datenbank verwenden, und schließen Sie dann Anwendungen oder beenden Sie Sitzungen mit dem Befehl kill .