Escenario:
A menudo nos enfrentamos a la situación en la que necesitamos cambiar el nombre de la base de datos. Piense en la situación, está trabajando como desarrollador de SQL Server para una empresa financiera y tienen el nombre de base de datos TechBrothersIT y les gustaría cambiar el nombre a Techbrothers. Debe proporcionar los scripts que se pueden ejecutar en el entorno de control de calidad, UAT y producción.Solución:
Renombramiento por GUI:Cambiar el nombre de la base de datos es muy fácil, simplemente puede hacer clic derecho en la base de datos y luego elegir Cambiar nombre.

Usted vea que el nombre de la base de datos le pedirá que lo cambie. Continúe, cámbielo y presione Entrar.

Cómo cambiar el nombre de la base de datos usando TSQL: Puede usar TSQL para cambiar el nombre de la base de datos en SQL Server.
1) Mediante el uso del procedimiento almacenado del sistema Sp_RenamePodemos usar el procedimiento almacenado del sistema sp_rename para cambiar el nombre de la base de datos en el servidor SQL. Digamos que nos gustaría cambiar el nombre de TechBrtohersIT a TechBrother. Podemos usar el siguiente script.
sp_renamedb 'OldDatabaseName','NewDatabaseName' EXEC sp_renamedb 'TechBrothersIT','TechBrothers'
2) Usar Alterar base de datos con Modificar Podemos usar el siguiente script para cambiar el nombre. En este ejemplo, estoy cambiando el nombre de TechBrothersIT a TechBrothers.
USE master; GO ALTER DATABASE TechBrothersIT Modify Name = TechBrothers ; GO
Error común: Digamos que la base de datos está en uso por diferentes aplicaciones. es posible que obtenga el siguiente error.
Mensaje 5030, nivel 16, estado 2, línea 4
La base de datos no se pudo bloquear exclusivamente para realizar la operación.
En este caso, puede eliminar todas las conexiones antes de ejecutar el script de cambio de nombre. El siguiente script se puede usar para eliminar todas las conexiones en una base de datos. Asegúrese con su equipo y otros equipos antes de eliminar todas las conexiones en la base de datos para cambiarles el nombre.
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