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
 

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



Preguntas similares