Ver Mensaje Individual
  #1  
Antiguo 01-07-2010
Flecha Flecha is offline
Miembro
 
Registrado: nov 2006
Posts: 59
Reputación: 18
Flecha Va por buen camino
"Clonar" estructura de base de datos

Hola a todos.

Tengo una consulta para gente algo expertilla en SQL Server. A ver si hay suerte.

Os expongo mi problema.
Tengo una serie de aplicaciones que prestan un servicio conjunto a mis clientes. Todas las aplicaciones se apoyan en SQL Server. Cada cliente mío, tiene localmente instalado su propio servidor SQL Server, y obviamente todos con la misma estructura de base de datos, e idéntica, por supuesto, a la mía en mi puesto de desarrollo.
En mi mantenimiento del servicio prestado, aparte de la modificación de los programas, a veces es necesario crear/modificar alguna tabla/procedimiento/trigger/job. Dicho cambio en base de datos, debo luego hacerlo extensible a los servidores SQL Server de mis clientes. Para ello tengo diseñado un sistema para "clonar" la base de datos del puesto de desarrollo. Consiste en recoger de mi base de datos toda su estructura, creándome con ello un archivo que luego envío a cada cliente incluido en el paquete de actualización de versión. Allí, en cliente, otra aplicación analiza el archivo generado, reconstruye las sentencias SQL, y así actualiza la estructura de base de datos de su servidor local para hacerla coincidir con la estructrua de base de datos de mi servidor en desarrollo.

Este proceso en su día se diseñó para actualización de tablas, procedimientos, triggers, y jobs. Para ello, obtenía la estructura de mi base de datos de desarrollo consultando en las tablas de sistema SYSOBJECTS, SYSUSERS, SYSCOMMENTS, INFORMATION_SCHEMA.COLUMNS, SYSINDEXES, SYSINDEXKEYS, SYSCOLUMNS, MSDB.DBO.SYSJOBS, MSDB.DBO.SYSJOBSTEPS, MSDB.DBO.SYSJOBSSCHEDULES, MSDB.DBO.SYSSCHEDULES (sólo a partir de SQL Server 2005).

Pero ahora, y aquí está mi problema, necesito también poder "clonar" las vistas. Sé que en SYSOBJECTS puedo comprobar si ya existe una vista con un determinado nombre. Pero no sé en qué tabla del sistema se guarda el cuerpo de la vista. Y ésto es fundamental para poder "clonarla".

¿Alguien sabe dónde guarda SQL Server (2000 y 2005) el cuerpo de las vistas?

Muchas gracias.
Un saludo.
Responder Con Cita