Cambiar el nombre de una base de datos

Se aplica a:SQL ServerAzure SQL DatabaseAzure 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 RENAME (Transact-SQL).

Limitaciones y restricciones

  • 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.
  • 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 una base de datos de Azure SQL configurada en una relación de replicación geográfica activa.

Permisos

Requiere el permiso ALTER en la base de datos.

Use SQL Server Management Studio

Siga estos pasos para cambiar el nombre de una base de datos de SQL Server o Azure SQL Database mediante SQL Server Management Studio.

  1. En SQL Server Management Studio, 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:

  2. En Explorador de objetos, conéctese a una instancia de SQL Server y expándala.

  3. 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.

  4. 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.

  5. Escriba el nuevo nombre de la base de datos y seleccione Aceptar.

  6. Si la base de datos era la predeterminada, vea Restablecimiento de la base de datos predeterminada después del cambio de nombre.

  7. Actualice la lista de bases de datos en el Explorador de objetos.

Uso de Transact-SQL

Para 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 SQL Server Management Studio, incluidos los pasos para establecer la base de datos en modo de usuario único y, después de cambiar el nombre, volver a establecer la base de datos en modo multiusuario.

  1. Conéctese a la base de datos master de la instancia.
  2. Abra una ventana de consulta.
  3. 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 a MyTestDatabaseCopy.

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 datos MyTestDatabase 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
  1. Opcionalmente, si la base de datos era la predeterminada, vea Restablecimiento de la base de datos predeterminada después del cambio de nombre.

Para 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.

  1. Conéctese a la base de datos master de la instancia.

  2. Abra una ventana de consulta.

  3. Asegúrese de que nadie está usando la base de datos.

  4. 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 a MyTestDatabaseCopy.

    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, esto 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 SQL Server, es posible que se produzca el error 4064, Cannot 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

Pasos siguientes