Cambiar el nombre de las vistas

Se aplica a: SQL Server Azure SQL Database Not supported. Azure Synapse Analytics Analytics Platform System (PDW)

Puede cambiar el nombre de una vista en SQL Server mediante SQL Server Management Studio o Transact-SQL.

Advertencia

Si cambia el nombre de una vista, pueden producirse errores en el código y las aplicaciones que dependen de la misma. Los elementos afectados pueden ser otras vistas, consultas, procedimientos almacenados, funciones definidas por el usuario y aplicaciones cliente. Tenga en cuenta que estos errores se producirán en cascada.

Requisitos previos

  1. Obtiene una lista de todas las dependencias de la vista. Los objetos, scripts o aplicaciones que hacen referencia a la vista deben modificarse para reflejar el nuevo nombre de la vista. Para más información, consulte Get Information About a View.
  2. Se recomienda quitar la vista y volver a crearla con un nuevo nombre en lugar de cambiarle el nombre. Al volver a crear la vista, se actualiza la información de dependencia para los objetos a los que se hace referencia en la vista.
    1. Al quitar y volver a crear una vista, se quitarán los permisos de SQL pormenorizados asignados a la vista. Si se asignan permisos SQL pormenorizados a la vista, deberá GRANT los permisos a la vista de nuevo después de volver a crearla. Para recuperar los permisos granulares concedidos en un objeto antes de quitarlo, consulte los ejemplos de sys.database_permissions (Transact-SQL). Para conceder permisos, consulte Conceder un permiso a una entidad de seguridad.

Permisos

Requiere el permiso ALTER en SCHEMA o el permiso CONTROL en OBJECT, y el permiso CREATE VIEW en la base de datos.

Uso de SQL Server Management Studio

Cambiar el nombre de una vista

  1. En el Explorador de objetos, expanda la base de datos que contiene la vista cuyo nombre desea cambiar y, a continuación, expanda la carpeta Vista .

  2. Haga clic con el botón derecho en la vista cuyo nombre quiere cambiar y seleccione Cambiar nombre.

  3. Escriba el nuevo nombre de la vista.

Uso de Transact-SQL

Aunque puede usar sp_rename para cambiar el nombre de la vista, se recomienda eliminar la vista existente y, a continuación, volver a crearla con el nuevo nombre.

Al cambiar el nombre de un procedimiento almacenado, una función, una vista o un desencadenador con sp_rename, el nombre del objeto correspondiente no cambia en la columna de definición de la vista de catálogo sys.sql_modules. Esto puede provocar confusión en el futuro. Por lo tanto, no se recomienda usar sp_rename para cambiar el nombre de los objetos. En su lugar, quite el objeto y vuelva a crearlo con su nuevo nombre.

Por ejemplo:

DROP VIEW [dbo].[vOrders];
GO

CREATE VIEW [dbo].[vOrders]
AS 
<select_statement>
GO

Para obtener más información, consulta CREATE VIEW (Transact-SQL) y DROP VIEW (Transact-SQL).

Seguimiento: después de cambiar el nombre de una vista

  1. Asegúrese de que todos los objetos, scripts y aplicaciones que hacen referencia al nombre antiguo de la vista usan el nombre nuevo.
  2. Al quitar y volver a crear una vista, se quitarán los permisos de SQL pormenorizados asignados a la vista. Si se asignan permisos de SQL pormenorizados a la vista, deberá GRANT los permisos a la vista de nuevo cuando se vuelva a crear. Para recuperar los permisos granulares concedidos en un objeto antes de quitarlo, consulte los ejemplos de sys.database_permissions (Transact-SQL). Para conceder permisos, consulte Conceder un permiso a una entidad de seguridad.