Pasar descripciones a otra base de datos

07/10/2004 - 09:57 por Asier | Informe spam
Hola grupo,

Tengo una bd con varias tablas y campos. He definido en ella la
descripción de cada uno de elos. El problema es que tengo una copia de la
misma BD en otro servidor y ahora quiero pasarle estas descripciones pero
sin tener que restaurar de nuevo la copia, es decir, sin perder nada de lo
que tengo en la otra.
¿Como lo puedo hacer?

Gracias,

Asier

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
07/10/2004 - 12:00 | Informe spam
Suponiendo que la estructura de ambas bases de datos sea la misma, este
script (no lo probé, pero si no funcionara no le debe quedar mucho para que
lo haga) te pinta lo que deberías ejecutar:

************************************************

de datos de la que queremos copiar las descripciones
DECLARE @t varchar(100)
DECLARE descripciones CURSOR
READ_ONLY
FOR SELECT table_name FROM information_schema.tables WHERE table_type='BASE
TABLE' AND table_name <> 'dtproperties'

OPEN descripciones

FETCH NEXT FROM descripciones INTO @t
WHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status <> -2)
BEGIN
DECLARE @d VARCHAR(8000), @c VARCHAR(500)
DECLARE insertar CURSOR
READ_ONLY -- y ahora el cursor que, partiendo de la tabla actual, nos
devuelva la descripción de todas sus columnas
FOR SELECT objname , CAST(value AS VARCHAR(8000)) FROM
::fn_listextendedproperty ('MS_Description', 'user', 'dbo', 'table', @t,
'column', default)

OPEN insertar
FETCH NEXT FROM insertar INTO @c,@d
WHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status <> -2) -- sacamos por la ventana la instrucción que
habría que ejecutar
PRINT 'EXEC sp_addextendedproperty ''MS_Description'',''' + @d +''',
''user'', dbo, ''table'', '+ @t+', ''column'',' + @c

FETCH NEXT FROM insertar INTO @c,@d
END

CLOSE insertar
DEALLOCATE insertar

END
FETCH NEXT FROM descripciones INTO @t
END

CLOSE descripciones
DEALLOCATE descripciones
GO

************************************************

Sí, ya sé que no sólo hay un cursor, sino que encima declaro dos, pero
como es para algo temporal, supongo que podremos pasarlo por alto, no? ;-)



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Asier" escribió en el mensaje
news:
Hola grupo,

Tengo una bd con varias tablas y campos. He definido en ella la
descripción de cada uno de elos. El problema es que tengo una copia de la
misma BD en otro servidor y ahora quiero pasarle estas descripciones pero
sin tener que restaurar de nuevo la copia, es decir, sin perder nada de lo
que tengo en la otra.
¿Como lo puedo hacer?

Gracias,

Asier



Respuesta Responder a este mensaje
#2 Adrian D. Garcia
07/10/2004 - 14:58 | Informe spam
Una forma de hacerlo es:
1) Generas un script de la base de datos con la opcion de que te genere las
descripciones
2) Ejecutas ese script en la base de datos de destino
3) Copias luego los datos con un DTS o con el servicio de importar/exportar

Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"Asier" wrote in message
news:
Hola grupo,

Tengo una bd con varias tablas y campos. He definido en ella la
descripción de cada uno de elos. El problema es que tengo una copia de la
misma BD en otro servidor y ahora quiero pasarle estas descripciones pero
sin tener que restaurar de nuevo la copia, es decir, sin perder nada de lo
que tengo en la otra.
¿Como lo puedo hacer?

Gracias,

Asier



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida