Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Renombrar Base de Datos y actualizar dependencias

Estas en el tema de Renombrar Base de Datos y actualizar dependencias en el foro de SQL Server en Foros del Web. Hola a todos, Tengo una gran base de datos en MSSQL y le quiero cambiar el nombre a algunas tablas. El problema es que éstas ...
  #1 (permalink)  
Antiguo 24/09/2007, 17:14
 
Fecha de Ingreso: diciembre-2006
Mensajes: 7
Antigüedad: 17 años, 4 meses
Puntos: 0
Renombrar Base de Datos y actualizar dependencias

Hola a todos,

Tengo una gran base de datos en MSSQL y le quiero cambiar el nombre a algunas tablas.

El problema es que éstas tablas tienen como dependencias muchas vistas y procedimientos almacenados.
Al renombrar las tablas, las vistas y procedimientos almacenados permanecen llamando a éstas tablas por su nombre antiguo, y editar cada dependencia una por una es muy trabajoso.

¿Hay alguna forma de que al renombrar la tabla tambien se actualizen todas las dependencias para que manden al nuevo nombre de la tabla?

Gracias y saludos.
  #2 (permalink)  
Antiguo 24/09/2007, 17:47
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Renombrar Base de Datos y actualizar dependencias

Pues, segun la ayuda en linea es SP_RENAME

Este ejemplo cambia el nombre de la tabla customers por custs.

Cita:
EXEC sp_rename 'customers', 'custs'



Ahora, aqui estan las observaciones:

Observaciones
Cita:
Sólo puede cambiar el nombre de un objeto o tipo de datos de la base de datos actual. No se pueden cambiar los nombres de la mayoría de los tipos de datos de sistema y de los objetos de sistema.

Al cambiar el nombre de una vista, se actualiza la información correspondiente en la tabla sysobjects. Al cambiar el nombre de un procedimiento almacenado, se cambia la información correspondiente en la tabla sysobjects.

sp_rename cambia automáticamente el nombre del índice asociado cuando se cambia el nombre de una restricción PRIMARY KEY o UNIQUE. Si un índice cuyo nombre se ha cambiado está enlazado a una restricción PRIMARY KEY, sp_rename también cambia automáticamente el nombre de la clave principal.



Importante Después de cambiar el nombre de procedimientos almacenados y vistas, vacíe la caché de procedimientos para asegurarse de que se vuelven a compilar todos los procedimientos almacenados y vistas dependientes.


Si se cambia el nombre de un procedimiento almacenado, de una vista o de un desencadenador, no se cambiará el nombre del objeto correspondiente en la tabla syscomments. Esto puede crear problemas al generar una secuencia de comandos para el objeto, ya que se insertará el nombre anterior de la tabla syscomments en la instrucción CREATE. Para obtener los mejores resultados, no cambie el nombre de estos tipos de objetos. En lugar de ello, quite y vuelva a crear el objeto con su nuevo nombre.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:10.