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 TutorialDas 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-LernprogrammSo 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