Como pasar una base de SQL 2008 a 2005 o 2000

by Maxi Accotto 2. junio 2009 01:24

En algunas ocasiones podemos necesitar transformar una base de datos completa de una versión superior a una inferior.

Si  en la base de datos por ejemplo 2008 no se le han implementado features exclusivas de esa versión la conversión debería ser mas natural y simple que si tenemos features nuevas (lo cual deberíamos hacer algún proceso de reingeniería)

Supongamos que tenemos una base en un SQL 2008 a la cual no le aplicamos nuevas funcionalidades y se nos da por pasarla hacia atrás, uno lo primero que intentaría hacer es realizar un backup y luego un restore por ejemplo en el 2000 o 2005, si hacen esto recibirán un error al hacer el restore (Error 3169: The Backed-up database has on-disk structure version ….)

, este error se debe a que al estar en una version superior el formato de archivos es distinto por mas que la base este en un modo de compatibilidad inferior, supongamos que esta base de datos esta en un 2008 con un modo de compatibilidad 2000.

Entonces como hacemos esta tarea?

Pues bien, hay varias técnicas, una de ellas es armar primero los Script DDL de la base (tablas, índices, vistas, Stores, etc.) y luego por un método de exportación e importación de datos pasar la data.

Este método requiere de varios pasos y además de cierta complejidad.

En este post veremos como hacer esto mismo con un solo Script usando el Management Studio 2008.

 

  • Entre a su SSMS (SQL Server Management Studio) de 2008
  • Seleccione la base de datos que quiere pasar
  • Pulse botón alterno del mouse sobre ella, vaya a Task (o tareas) y luego a Generate Script.(Al hacer esto le aparecerá el siguiente Wizard).

image

  • Pulse el Checkbox "Script all Object in the selected database”, esto nos indica que se hará script de todos los objetos de esa base de datos y pulse el botón Next
  • En la siguiente pantalla observara las distintas opciones para generar el Script, y es aquí donde debemos concentrarnos aun mas y poner lo siguiente en cada opción
      • Script for SQL Server Version = SQL 2000 0 2005 dependiendo a que version queremos ir
      • Script Data = True
      • Script Foreign Key = True
      • Script Indexes = True
      • Script Primary Keys = True
      • Script Triggers  = True
      • Script Unique Key = True
      • Script Database Create = True

Con estas opciones de mínima ya estamos en condiciones de pasar al próximo paso del asistente en el cual indicaremos donde queremos guardar el script, por ejemplo yo seleccionare hacerlo en el disco C y con el nombre de Script2000.SQL.

 

image

Luego de hacer esto debemos culminar con el asistente el cual generara los Script con los datos incluidos para la version de SQL que le hemos seleccionado.

Si no se encuentra alguna compatibilidad, por ejemplo en la base tenemos cosas propias de 2008 el asistente no las convertirá y marcara un error en el paso indicando donde tenemos el problema, de sucedernos esto deberíamos hacer una reingeniería, por ejemplo cambiar el tipo de dato.

En mi caso se genero correctamente el Script ya que la base de datos que tenia en 2008 era un restore de una de 2000 pero luego no la podía pasar a 2000 con Backup y restore por el cambios de formato comentado en el inicio del post.

Bueno ahora lo que nos queda es abrir nuestro Query Analizer y ejecutar el Script  y tendremos creada en 2000 nuevamente la base con sus estructuras y datos también.

Tags:

How To

Comentarios (5) -

26/06/2009 16:55:56 #

Hola, quería comentarte que seguí paso a paso, haciendo la reingenieria correspondiente hasta que finalizo correctamente, pero cuando lo abro en el Query Analizer me dice "no se pudo cargar el archivo de consulta", que puede ser?, de paso te comento que en realidad quiero volver al 2000 porque en el 2008 muchas aplicaciones me dan error de tiempo de espera, y el CPU se va al 100%, tenes alguna idea de que pueda ser?

Muchas gracias!!!

Roberto Argentina

27/07/2009 1:09:46 #

Groso! me salvasta , no sabia de esta novdad y la verdad que esta re buena.
Que bueno esta tu blog Maxi, sos un idolo para mi

josemaria Argentina

10/10/2009 7:14:54 #

Hola a todos, gracias por el pequeño manual, sabes yo tengo instalado el sql 2005 y tengo una base de datos creada en sql 2008.

La converti, cree el sript como explicas en un principio. Obedecí todos los pasos y sabes, me funcionó !! se creo perfectamente.

Ahora el problema es el siguiente, yo lo abro y cuando lo ejecuto, me sale error, una que no lo encuentra en el directorio el mdf y toda esa cosa y bueno más errores.

Se suponía que eso no debería de pasar. Hechame una mano con este problema, ayudame a salir de él.

Aquí te dejo mi correo para que me apoyes en este pequeño inconveniente que me a pasado, te lo agradesco de antemano, mil gracias....

kelvin Peru

10/10/2009 7:15:48 #

Perdón me olvide de agregar mi correo: kelvin_17900@hotmail.com o kelvin.17900@gmail.com; nos vemos y muchas gracias.

kelvin Peru

13/10/2011 21:29:55 #

gracias por la gran ayuda pero tengo una pregunta esto funciona si yo tengo en una computadora la BD que solo esta instalado el sql2008 y lo quiero pasar a otra computadora q solo tiene SQL2005 o es que tiene q estar instalado las 2 verciones en la misma computadora
gracias por tu respuesta

Gilmer

Agregar Comentario




biuquote
  • Comentario
  • Vista Previa
Loading


Maximiliano Damian Accotto