Cambiar el nombre de una base de datos
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance
En este artículo se describe cómo cambiar el nombre de una base de datos definida por el usuario en SQL Server, Azure SQL Database o Azure SQL Managed Instance, mediante SQL Server Management Studio (SSMS) o Transact-SQL (T-SQL). El nombre de la base de datos puede incluir cualquier carácter que se ajuste a las reglas para identificadores.
Nota:
Para cambiar el nombre de una base de datos en Azure Synapse Analytics o en Almacenamiento de datos paralelos, utilice la instrucción CAMBIAR NOMBRE.
Limitaciones
No se puede cambiar el nombre de las bases de datos del sistema.
No se puede cambiar el nombre de la base de datos mientras otros usuarios estén accediendo a la base de datos.
Use Monitor de actividad de SSMS para buscar otras conexiones a la base de datos y cerrarlas. Para más información, vea Apertura del Monitor de actividad en SQL Server Management Studio (SSMS).
En SQL Server, puede establecer una base de datos en modo de usuario único para cerrar cualquier conexión abierta. Para más información, vea Establecer una base de datos en modo de usuario único.
En Azure SQL Database, debe asegurarse de que ningún otro usuario tiene una conexión abierta a la base de datos cuyo nombre se va a cambiar.
El cambio de nombre de una base de datos no cambia el nombre físico de los archivos de base de datos en el disco ni los nombres lógicos de los archivos. Para más información, consulte Database Files and Filegroups.
No es posible cambiar el nombre de Azure SQL Database configurada en una relación de replicación geográfica activa.
Permisos
Debe tener el permiso ALTER
para la base de datos.
Usar SQL Server Management Studio (SSMS)
Siga estos pasos para cambiar el nombre de SQL Server o Azure SQL Database mediante SSMS.
En SSMS, seleccione Explorador de objetos. Para abrir Explorador de objetos, seleccione F8. O bien, en el menú superior, seleccione Ver>y, después, Explorador de objetos:
En Explorador de objetos, conéctese a una instancia de SQL Server y expándala.
Asegúrese de que no hay ninguna conexión abierta a la base de datos. Si usa SQL Server, puede establecer la base de datos en el modo de usuario único para cerrar todas las conexiones abiertas y evitar que otros usuarios se conecten mientras está cambiando el nombre de la base de datos.
En el Explorador de objetos, expanda Bases de datos, haga clic con el botón derecho en la base de datos cuyo nombre quiere cambiar y luego seleccione Cambiar nombre.
Escriba el nuevo nombre de la base de datos y seleccione Aceptar.
Si la base de datos era la predeterminada, vea Restablecimiento de la base de datos predeterminada después del cambio de nombre.
Actualice la lista de bases de datos en el Explorador de objetos.
Uso de Transact-SQL
Cambiar el nombre de una base de datos de SQL Server cambiándola al modo de usuario único
Siga estos pasos para cambiar el nombre de una base de datos de SQL Server mediante T-SQL en SSMS, incluidos los pasos para colocar la base de datos en modo de usuario único. Después del cambio de nombre, este ejemplo vuelve a situar la base de datos en modo multiusuario.
Conéctese a la base de datos
master
de la instancia.Abra una ventana de consulta.
Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar. Este ejemplo cambia el nombre de la base de datos
MyTestDatabase
aMyTestDatabaseCopy
.Advertencia
Para obtener rápidamente acceso exclusivo, en el ejemplo de código se usa la opción de terminación
WITH ROLLBACK IMMEDIATE
. Esto hará que todas las transacciones incompletas se reviertan y que el resto de las conexiones a la base de datosMyTestDatabase
se desconecten de inmediato.USE master; GO ALTER DATABASE MyTestDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy; GO ALTER DATABASE MyTestDatabaseCopy SET MULTI_USER; GO
Opcionalmente, si la base de datos era la predeterminada, vea Restablecimiento de la base de datos predeterminada después del cambio de nombre.
Cambiar el nombre de una base de datos de Azure SQL Database
Siga estos pasos para cambiar el nombre de una base de datos de Azure SQL Database mediante T-SQL en SQL Server Management Studio.
Conéctese a la base de datos
master
de la instancia.Abra una ventana de consulta.
Asegúrese de que nadie está usando la base de datos.
Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar. Este ejemplo cambia el nombre de la base de datos
MyTestDatabase
aMyTestDatabaseCopy
.ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy;
Copia de seguridad después de cambiar el nombre de una base de datos
Después de cambiar el nombre de una base de datos en SQL Server, haga una copia de seguridad de la base de datos master
. En Azure SQL Database, este proceso no es necesario porque las copias de seguridad se realizan automáticamente.
Restablecimiento de la base de datos predeterminada después de cambiar el nombre
Si la base de datos a la que va a cambiar el nombre se ha establecido como la predeterminada de un inicio de sesión de SQL Server, es posible que se produzca el error 4064, Can't open user default database
. Use el comando siguiente para cambiar el valor predeterminado a la base de datos que ha cambiado de nombre:
USE [master]
GO
ALTER LOGIN [login] WITH DEFAULT_DATABASE=[new-database-name];
GO