Restaurar o crear tablas de server 2008 a server 2000

En un pc tengo server 2008 para probar SSIS y quiero pasar una base de datos a un servidor con SQL server 2000, el asunto que tengo tablas quería hacerlo con un paquete de SSIS pero una tablas no se crean pareciera que es son los Id que tengo las tablas que no tienen no tienen ese problema, en fin después dije solo para probar por mientras restauro o copio la base que tengo y la paso al server 2000 y me dice que hay una especie de incompatibilidad en el backup del 2008 con el del 2000, quizás solo estoy haciendo algo mal... Voy a seguir buscando ojala me puedas echar una mano...

5 Respuestas

Respuesta
1
No se entiende bien lo que escribes, agradecería si lo envías más ordenado tus palabras.
De lo que entendí te comento:
No se puede restaurar un backup de una db en 2k8 en un server con 2k.
Lo que envías del paquete SSIS no lo entiendo, agrega más detalles para poder ayudarte de la mejor forma.
Hola, gracias por la pronta respuesta... esa era una duda que no se puede hacer restaurar un backup... y lo otro es que estoy probando el SSIS en un PC cualquiera, aquí armo una base de datos, resulta que quiero que otros usuarios vean esto para probar para esto hay un servidor con server 2000. Entonces hice un paquete para pasar la misma información del PC al servidor(Resumida por fechas ya que tengo toda la info en el pc y solo necesito dos años), este paquete hace un drop y create a las tablas(del servidor)y luego llena las tablas(del servidor). El asunto fue que cuando fui a correr el proceso para crear las tablas algunas no me dejo crearlas, debe ser por alguna problema de incompatibilidad que tiene el 2008 con 2000 ya que el create lo hice con el asistente(server 2008) que desarrolla las consultas drop and create. Lo raro fue que alguna pasaron, las que no tienen ID primarias pasaron de lo más bien. Osea lo complicado es crearlas por que pude pasar info a la tabla.. quiero dejarlo de esta forma por que es más fácil trasladar la info... para no estar restaurando a cada rato...
Saludos y Gracias!
Y en vez de borrar la tabla solo le pasas código para que haga Truncate Table, cosa que liberas la data sin usar log y reseteas los ids en caso tengas, ademas en tu paquete cuando copies de un origen a otro, debes indicar que tabla es la que contiene identity - en caso los tuvieras.
Me comentas.
Ok, ¿si había pensado en truncate que supongo que hace lo mismo que delete?, pero aun así por una vez necesito crear las tablas son varias para no estar haciendo a mano... lo que te decía lo prove recién y 7 tablas las crea sin problemas estas no tienen identity ni nada solo sus campos y al final on primary, pero las otras queu tienen esta forma por ejemplo
CREATE TABLE [dbo].[DimProducto](
[IdProducto] [bigint] IDENTITY(1,1) NOT NULL,
[CodProducto] [nvarchar](8) NULL,
[DesProducto] [nvarchar](50) NULL,
[CodMarca] [nvarchar](2) NULL,
[DesMarca] [nvarchar](30) NULL,
[CodRubro] [nvarchar](2) NULL,
[DesRubro] [nvarchar](30) NULL,
[AnioProducto] [int] NULL,
 CONSTRAINT [PK_Producto] PRIMARY KEY CLUSTERED 
(
[IdProducto] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
Pasa bien en el pc con 2008 pero 200 me arroja error, y por otro lado para las tablas que pasan bien uso unos ifs en el 2008 que pregunta si la tabla existe entonces hace el drop y la crea esto al parecer no lo soporta el 2000 por que me arroja un error en las 7 tablas si que decidí por crear solamente y hay se arreglo pero me faltan el resto... saludos!
Yo de nuevo resolví el drama por el momento, le saque todos los identity ya que no los utilizo, esto son incrementales, pero me salta una duda con esto super básica pero es necesario si no los uso,? Ya que estos identificadores no los relaciono con nada... ¿a tu juicio deberían estar relacionadas? Supongo para dar confiabilidad que no ser repitan estos...
Saludos
Me puedes poner los if que tienen error?
Los identificadores son para usarlos con tu FactTable, y si deben estar relacionado con dicha tabla, ahora que sean identity o no es asunto de como manejes la data, pero lo standard es que si sea del tipo identity, lo más probable que tu error se debía a que estabas pasando el valor de la columna identity a la tabla creada en 2000 sin haber marcado la opción que la tabla contiene columna identity.
Respuesta
1
No debe haber problemas amigo no uses ningún software para hacer esta migración adjuntalo como si fuese una base de datos creada en el sql 2008, una vez adjuntada cambia al usuario sa. Esto para que puedas ver los diagramas entre otros.
Si te fijas en esa pestaña también tendrás la obsesión para cambiar la version de la base de datos con la que fue creada en este caso en sql 2000. Si vas a trabajar con sql 2008 seria necesario cambiarlo a esa version ojo ten mucho cuidado con el idioma mante a como fue creado.
¿Si tu problema persiste amigo pues la solución más rápida es sacar un script de la base de datos de sql 2000 y ejecutar en el query del sql 2008
como se saca un script de la base de datos de sql 2000?
Ubicate sobre la base de datos>clic derecho>todas las tareas>Generar secuencia de comandos SQL>Mostrar Todo>Todas las Tablas, Todos los procedimientos > aceptar
ojo los procedimientos tienes que agregar uno por uno.
Respuesta
1
Efectivamente no es posible pasar una base de SQL a un servidor de SQL anterior mediante un backup; pero puedes hacerlo mediante el Query analyzer con comandos. Una forma que se me ocurre aunque un poco laboriosa es la siguiente:
-Linkea tus servidores
-Ejecuta la siguiente consulta: select 'Select * Into servidor_destino.base.dbo.' + Name + ' From servidor_origen.base.dbo.' + Name
from sysobjects where xtype = 'U'
Esta consulta te arrojara como resultado una serie de consultas para insertar en el servidor de destino cada una de las tablas de tu servidor de origen.
-Copia los resultados del query a la ventana del editor y ejecuta la consulta para que se pasen todas las tablas junto con sus datos a tu servidor 2000.
-Para los demás objetos modifica la consulta inicial que te mando.
El método tardará un rato y te recomiendo ponerle "GO" después de cada línea para evitar que si hay algún error se detenga el proceso.
Mucha suerte.
Respuesta
1
Si es de la misma version de servidor no hay problema, 2008 lo he manejado poco, son pocas sentencias que son agregadas, pero lo que te podría dar problema para pasar las tablas son las foreign keys y los indices.
La transferencia directa no creo que sea posible, a menos que tenga la opción de exportar a version anterior, tendrías que hacer una copia manual... generando los scripts copiar los datos de las bases de datos y al ultimo generas los indices y foreign keys para que no tengas problemas.
Respuesta
Sorry, pero io tb tengo ese problema y para ser sincero no me ha dado tiempo para poder resolverlo, lo unico que atine a hacer es intalar la version express gratuita del sql.
Aunque podrias probar generar Script de tu bd en el 2008 y correrlo en el 2000.
Estimado, quizás te sirva algo me salio... la restauración de 2008 a 2000 al parecer no se puede y yo tenia unos problemas con unas claves primarias al parecer era que no las pase bn en fin lo que hice fue sacar las claves que no uso y correr unos task solo crea la base y luego cuando correo el programa en el pc y termina, luego de eso paso lo que necesito al servidor borro la info las tablas ya creadas y ingreso info nueva... así funciona por mientras
Saludos
Mmm.. weno jeje apenas uso el sql 2005, y ps el 2008 mucho menos.
Deseo que ubicas una solución más adecuada y si es posible con lo compartes, como el objetivo común de esa comunidad. Si no ahí algo más por preguntar, sugiero que finalices y puntualizes la pregunta.
Suerte y Saludos.
Carlos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas