Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So benennen Sie eine Datenbank in SQL Server um - SQL Server / TSQL-Tutorial Teil 26

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