Szenario:
Wir stehen oft vor der Situation, dass wir die Datenbank umbenennen müssen. Denken Sie an die Situation, Sie arbeiten als SQL Server-Entwickler für eine Finanzfirma und sie haben den Datenbanknamen TechBrothersIT und möchten sie in Techbrothers umbenennen. Sie müssen die Skripte bereitstellen, die in QA-, UAT- und Produktionsumgebungen ausgeführt werden können.Lösung:
Umbenennung per GUI:Das Umbenennen der Datenbank ist sehr einfach, Sie können einfach mit der rechten Maustaste auf die Datenbank klicken und dann Umbenennen wählen.
So benennen Sie eine Datenbank in SQL Server um – SQL Server / TSQL Tutorial
Das werden Sie Sehen Sie, dass der Name der Datenbank Sie zur Änderung auffordert. Gehen Sie voran und ändern Sie es und drücken Sie die Eingabetaste. So benennen Sie eine Datenbank in SQL Server um – SQL Server / TSQL-Lernprogramm
So benennen Sie die Datenbank mit TSQL um: Sie können TSQL verwenden, um die Datenbank in SQL Server umzubenennen.
1) Durch die Verwendung von Sp_Rename System Stored ProcedureWir können sp_rename System Stored Procedure verwenden, um die Datenbank in SQL Server umzubenennen. Angenommen, wir möchten TechBrtohersIT in TechBrother umbenennen. Wir können das folgende Skript verwenden.
sp_renamedb 'OldDatabaseName','NewDatabaseName' EXEC sp_renamedb 'TechBrothersIT','TechBrothers'
2) Verwenden Sie Alter Database mit Modify Wir können das folgende Skript zum Umbenennen verwenden. In diesem Beispiel benenne ich TechBrothersIT in TechBrothers um.
USE master; GO ALTER DATABASE TechBrothersIT Modify Name = TechBrothers ; GO
Häufiger Fehler: Angenommen, die Datenbank wird von verschiedenen Anwendungen verwendet. Möglicherweise erhalten Sie die folgende Fehlermeldung.
Msg 5030, Level 16, State 2, Line 4
Die Datenbank konnte nicht exklusiv gesperrt werden, um den Vorgang auszuführen.
In diesem Fall Sie kann alle Verbindungen beenden, bevor Sie das Umbenennungsskript ausführen. Das folgende Skript kann verwendet werden, um alle Verbindungen in einer Datenbank zu beenden. Vergewissern Sie sich mit Ihrem Team und anderen Teams, bevor Sie alle Verbindungen in einer Datenbank zum Umbenennen beenden.
USE MASTER GO DECLARE @DatabaseName AS VARCHAR(500) -->Provide the DataBaseName for which want to Kill all processes. SET @DatabaseName='YourDataBaseName' DECLARE @Spid INT DECLARE KillProcessCur CURSOR FOR SELECT spid FROM sys.sysprocesses WHERE DB_NAME(dbid) = @DatabaseName OPEN KillProcessCur FETCH Next FROM KillProcessCur INTO @Spid WHILE @@FETCH_STATUS = 0 BEGIN DECLARE @SQL VARCHAR(500)=NULL SET @SQL='Kill ' + CAST(@Spid AS VARCHAR(5)) EXEC (@SQL) PRINT 'ProcessID =' + CAST(@Spid AS VARCHAR(5)) + ' killed successfull' FETCH Next FROM KillProcessCur INTO @Spid END CLOSE KillProcessCur DEALLOCATE KillProcessCur