Compartir a través de


Consideraciones antes de cambiar nombres de objetos de base de datos

Antes de cambiar el nombre de un objeto de base de datos en Visual Studio Premium, debería tener en cuenta lo siguiente:

Cambiar nombres de columna en vistas

Efectos de los errores de compilación

Efectos en los planes de generación de datos

Efectos en las pruebas unitarias

Efectos sobre los scripts de Transact-SQL

Cambiar nombres de columna en vistas

Una vista consiste en una instrucción que selecciona columnas de tablas u otras vistas. Las tablas que se utilizan en la vista se conocen como tablas base o tablas subyacentes. Por ejemplo, el código siguiente crea una vista que se basa en la tabla HumanResources.Employee:

CREATE VIEW dbo.vEmployeeTest
AS 
     SELECT EmployeeID, Title
       FROM HumanResources.Employee

Al cambiar el nombre de una columna en una vista, no cambia el nombre de la columna en la tabla subyacente. En su lugar, se crea un alias para el nombre en la vista, como en los ejemplos siguientes:

CREATE VIEW dbo.vEmployeeTest
AS 
     SELECT EmployeeID, Title AS JobTitle
       FROM HumanResources.Employee

CREATE VIEW dbo.vEmployeeTest (EmployeeID, JobTitle)
AS 
     SELECT EmployeeID, Title
       FROM HumanResources.Employee

Nota

Si una vista utiliza SELECT * para obtener los datos de la tabla subyacente, el * se expande para mostrar cada una de las columnas. Se crea un alias para la columna cuyo nombre ha cambiado, como en los ejemplos anteriores.

Si desea cambiar el nombre de la columna en la vista y en la tabla subyacente, cambie el nombre de la columna en la tabla, ya que así la columna se actualizará automáticamente en la vista.

Efectos de los errores de compilación

Al cambiar el nombre de un objeto de base de datos en Visual Studio Premium, se intentan actualizar otros objetos de base de datos, los planes de generación de datos, las pruebas unitarias y los scripts que hacen referencia a ese objeto. Mientras trabaja en un proyecto de base de datos, puede realizar acciones que creen errores de compilación y después realizar otras acciones que los corrijan. Por ejemplo, podría eliminar una tabla y después actualizar una vista que depende de esa tabla para quitar la referencia a la tabla eliminada. Entre las operaciones de eliminar la tabla y actualizar la vista, su proyecto tiene errores de compilación.

Aunque el proyecto tenga errores de compilación, podría cambiar el nombre de un objeto de base de datos correctamente. Sin embargo, no sería posible actualizar correctamente todas las referencias al objeto cuyo nombre va a cambiar. Si el proyecto tiene errores de compilación, recibirá una advertencia en el cuadro de diálogo Vista previa de los cambios. Si continúa, se cambiará el nombre del objeto y se actualizarán las referencias en la medida que sea posible. Si cancela, puede corregir primero los errores de compilación y después intentar de nuevo la operación de cambio de nombre.

Efectos en los planes de generación de datos

Al cambiar el nombre de un objeto de base de datos en Visual Studio Premium o Visual Studio Ultimate, se intentan actualizar los planes de generación de datos que hacen referencia a ese objeto. Sin embargo, debería tener en cuenta lo siguiente:

  • Antes de cambiar el nombre de un objeto, debe guardar los planes de generación de datos que estén abiertos en el editor. Si hay abiertos planes de generación de datos al intentar cambiar el nombre de un objeto, todos los planes de generación de datos abiertos se guardan y se cierran automáticamente, y la operación de cambio de nombre continúa.

  • Debe actualizar manualmente los planes de generación de datos que utilicen generadores de datos enlazados a datos.

Para obtener más información, vea Generar datos de prueba para bases de datos mediante generadores de datos.

Efectos en las pruebas unitarias

Normalmente, las instrucciones Transact-SQL de una prueba unitaria hacen referencia a los objetos de la base de datos especificada en ValidationConnectionString y ExecutionConnectionString para la prueba unitaria. A continuación se muestran dos posibilidades en las que no se da este caso:

  • Las instrucciones Transact-SQL de una prueba unitaria pueden hacer referencia a objetos de otras bases de datos.

  • Las instrucciones Transact-SQL de una prueba unitaria pueden hacer referencia a objetos de la misma base de datos pero de esquemas diferentes.

Al cambiar el nombre de un objeto de base de datos en Visual Studio Premium, se intentan actualizar las pruebas unitarias de la solución que hacen referencia a ese objeto. En los casos antes mencionados, no sería posible actualizar las pruebas unitarias. Para actualizar las pruebas unitarias al cambiar el nombre de un objeto de base de datos, debe asegurarse de que utiliza el nombre completo de los objetos en las pruebas unitarias. Si utiliza nombres completos en las pruebas unitarias, el motor de refactorización puede actualizarlas cada vez que cambie el nombre de un objeto de esquema.

Para obtener más información acerca de las pruebas unitarias, vea Comprobar código de base de datos mediante pruebas unitarias.

Efectos sobre los scripts de Transact-SQL

Normalmente, los scripts Transact-SQL de un proyecto de base de datos hacen referencia a los objetos de esquema de la base de datos del proyecto de base de datos. A continuación se muestran dos posibilidades en las que no se da este caso:

  • Las instrucciones Transact-SQL de un script pueden hacer referencia a objetos de otras bases de datos.

  • Las instrucciones Transact-SQL de un script pueden hacer referencia a objetos de la misma base de datos pero de esquemas diferentes.

Al cambiar el nombre de un objeto de base de datos en Visual Studio Premium, se intentan actualizar los scripts de la solución que hacen referencia a ese objeto. En los casos antes mencionados quizá no sea posible actualizar los scripts. Para actualizar los scripts al cambiar el nombre de un objeto de base de datos, debe asegurarse de que utiliza el nombre completo de los objetos en los scripts. Si utiliza nombres completos, el motor de refactorización puede actualizarlos cada vez que cambie el nombre de un objeto de esquema.

Para obtener más información acerca de los scripts, vea Crear y modificar scripts de base de datos.

Seguridad

Si un error impide que finalice una operación de refactorización, la información del error se escribe en el registro de eventos de aplicación, donde puede verlo cualquier usuario con permisos normales. Si considera que la información del esquema es confidencial y puede aparecer en el registro, tiene la posibilidad de borrar el registro o restringir el acceso al equipo cliente.

Vea también

Conceptos

Cambiar el nombre de todas las referencias a un objeto de base de datos