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

Puede actualizar de manera más rápida y precisa las referencias a objetos de base de datos cuyo nombre haya cambiado utilizando refactorización de bases de datos. Si cambia el nombre de un objeto de base de datos de un proyecto de base de datos, también debe actualizar todas las referencias a ese objeto para que le hagan referencia por su nuevo nombre. Por ejemplo, debe actualizar cualquier de procedimiento almacenado que haga referencia a una columna de la tabla que haya cambiado de nombre.

Utilizando la refactorización, puede actualizar las referencias a lo largo del proyecto de base de datos sin seguir manualmente qué objetos dependen de otros y, a continuación, actualizar las referencias de una en una. Aunque utilice sp_depends para buscar las dependencias, no siempre recuperará esa información con precisión y todavía deberá actualizar cada referencia.

Puede utilizar la refactorización para cambiar automáticamente el nombre de los siguientes tipos de objetos:

  • Tablas

  • Columnas de tablas, vistas y funciones

  • Parámetros de procedimientos almacenados

También puede utilizar la refactorización para actualizar planes de generación de datos, scripts y pruebas unitarias. Para obtener más información, vea Consideraciones antes de cambiar nombres de objetos de base de datos.

De forma predeterminada, la refactorización no actualiza objetos cuyas definiciones provoquen una o más advertencias o errores. Al refactorizar, además, no se actualiza automáticamente el nombre del archivo .sql que contiene la definición para un objeto cuyo nombre haya cambiado. Puede cambiar el nombre del archivo manualmente en el Explorador de soluciones.

Usos adicionales de la refactorización de cambio de nombre

También puede usar la refactorización de cambio de nombre para realizar las siguientes tareas comunes:

  • En un entorno sin distinción entre mayúsculas y minúsculas, puede cambiar el uso de las mayúsculas de un nombre de objeto y de todas sus referencias para adaptarlo a las convenciones de uso de mayúsculas de su organización. Por ejemplo, su proyecto de base de datos podría contener una mezcla de referencias a "Miid" y "MiID" y podría utilizar la refactorización de cambio de nombre para cambiar todas las referencias a "MiID".

    Nota

    Las referencias en las que el uso de mayúsculas y minúsculas ya es correcto también se actualizan al mismo valor. Si el archivo que contiene esas referencias está bajo control de versiones, ese archivo se desprotege como parte de la operación de refactorización.

  • Puede cambiar el nombre de dos o más objetos para que sus nombres y referencias coincidan. Por ejemplo, puede combinar dos nombres de esquema, tales como "Persona" y "Nombre de persona." También puede combinar dos nombres que sólo difieran en mayúsculas y minúsculas en un entorno que distinga entre mayúsculas y minúsculas, tales como "MiID" y "Miid."

  • Puede agregar corchetes alrededor de un nombre de objeto de esquema y de todas sus referencias para seguimiento de los procedimientos recomendados sobre denominación de objetos. Por ejemplo, puede reemplazar todas las referencias a "MiID" por "[MiID]".

    Nota

    Las referencias que ya están incluidas entre corchetes también se actualizan al mismo valor. Si el archivo que contiene esas referencias está bajo control de versiones, ese archivo se desprotege como parte de la operación de refactorización.

Al realizar estas tareas, aparecerá un mensaje de error para advertirle de que ya existe un objeto de esquema con ese nombre. Debe hacer clic en para realizar el cambio. No obstante, puede obtener una vista previa de los cambios y excluirlos individualmente si deja activada la casilla Obtener vista previa de cambios en el cuadro de diálogo Cambiar nombre.

Conservar el propósito con el registro de refactorización

Al cambiar el nombre de un objeto de base de datos, se agrega una entrada al registro de refactorización para el proyecto de base de datos. Al implementar los cambios, este registro ayuda a asegurarse de que el nombre del objeto correspondiente cambia en el entorno de destino tal como se desea. De lo contrario, el objeto existente se quitaría y se agregaría un objeto con el nuevo nombre. El registro se mantiene en un archivo XML que se denomina NombreDeProyecto.refactorlog. Proteja este archivo en el sistema del control de versiones cuando proteja los demás archivos que compongan el proyecto de base de datos. El archivo NombreDeProyecto.refactorlog solo contiene información sobre las operaciones de refactorización que requieren un control especial durante la implementación.

Implementación

Cuando utilice la refactorización, actualice solamente el proyecto de base de datos, en lugar de una base de datos de producción. Si sigue esta estrategia obtendrá todas las ventajas de los proyectos de base de datos, que incluyen el control de versiones y el desarrollo en equipo. Al compilar el proyecto de base de datos, todos los archivos de registro de refactorización se combinan en el archivo transaction.refactorlog en la carpeta \sql del proyecto. Al implementar los cambios, ese archivo de registro de refactorización combinado ayuda a conservar el propósito de los cambios en el proyecto de base de datos.

Para obtener más información, vea Compilar e implementar bases de datos en un entorno de desarrollo aislado.

Nota

En un entorno de equipo se deben ejecutar pruebas unitarias de base de datos y de aplicación antes de implementar los cambios en un servidor de producción. Para obtener más información, vea Iniciar el desarrollo de bases de datos de equipo.

Consideraciones ante de cambiar nombres

Antes de cambiar el nombre de las referencias a un objeto de base de datos, debe entender consideraciones adicionales si cualquiera de las afirmaciones siguientes es verdadera:

  • Desea cambiar el nombre de una columna de una vista.

  • Desea cambiar el nombre de un objeto en un proyecto de base de datos que contiene uno o más errores que impiden que se compile correctamente.

  • Tiene un plan de generación de datos abierto sin guardar.

  • Tiene un plan de generación de datos en el proyecto que utiliza el generador enlazado a datos.

  • Tiene pruebas unitarias de base de datos que no utilizan nombres completos y esas pruebas hacen referencia a objetos de otros esquemas o bases de datos.

  • Tiene scripts de base de datos en el proyecto que no utilizan nombres completos y esos scripts hacen referencia a objetos de otros esquemas o bases de datos.

Para obtener más información sobre las consideraciones especiales en estos escenarios, vea Consideraciones antes de cambiar nombres de objetos de base de datos.

Tareas comunes

En la siguiente tabla, encontrará descripciones de tareas comunes que admiten este escenario y vínculos para obtener más información acerca de cómo puede completar correctamente dichas tareas.

Tarea

Temas adicionales

Obtenga la experiencia práctica: puede familiarizarse con cómo mover objetos de base de datos a un esquema diferente, además de otros tipos de refactorización, siguiendo el tutorial. También puede ver cómo se utiliza la refactorización como parte del ciclo de vida del desarrollo de bases de datos completando los tutoriales preliminares.

Cambie el nombre de un objeto de base de datos: puede utilizar la refactorización para cambiar todas las referencias a un objeto de base de datos en el proyecto de base de datos. Como parte de la operación de refactorización, puede obtener una vista previa de los cambios antes de aplicarlos.

Deshacer una operación de refactorización: si decide que es preciso revertir una operación de refactorización, puede deshacer dicha operación en la sesión actual de Visual Studio.

Implementar cambios de refactorización de base de datos: después de refactorizar el proyecto de base de datos, debe implementar los cambios en una base de datos de destino. Normalmente, implementará los cambios en el entorno de desarrollo aislado para probarlos antes de protegerlos en el control de versiones.

Solucionar problemas: puede obtener más información sobre cómo solucionar problemas comunes con la refactorización de base de datos.

Escenarios relacionados

Cambiar el nombre de referencias a un servidor o una base de datos

Mover un objeto de base de datos a un esquema diferente

Completar los nombres de los objetos de base de datos

Expandir caracteres comodín en instrucciones SELECT

Vea también

Conceptos

Refactorizar código de base de datos y datos

Información general acerca de los proyectos de base de datos y servidor