Restaurar una Base de datos SQL Server 2008 a SQL Server 2005

En este caso, en la oficina, mi lugar de trabajo, tengo la versión de SQL Server 2008 EE instalada y en mi casa la versión 2005. Cuando creé un backup (archivo .bak) de una base de datos utilizando el Management Studio Express 2008, este backup de base de datos, que tiene el nivel de compatibilidad SQL Server 2005 no lo pude restaurar en la version del SQL Server 2005. Y no es un problema del SQL Server 2008, sino que en ninguna versión de SQL Server, el backup creado con la nueva versión puede ser restaurado en una versión antigua. En el caso contrario si se puede, es decir, de una versión 2005 a una 2008 por dar un ejemplo.

Para resolver este inconveniente, opte por una de dos alternativas que encontré, de alternativas rápidas digo. Una es bajar el servicio de SQL Server y copiar los archivos de base de datos (no es posible copiar los archivos cuando esta el servicio activo) en algún medio extraible y luego “Adjuntarlo” en el servidor de mi casa. Dado que la base de datos tiene el “Nivel de compatibilidad” a SQL Server 2005 no tendría problemas para adjuntarlo. Pero como no era opción bajar el servicio del sql server en mi trabajo (Servidor Principal en la Empresa xD) opté por la segunda alternativa que es la de “Generar una secuencia de comandos” completa de dicha base de datos!. En el Management Studio Express 2008 esta tarea se llama “Generar scripts” y se puede ejecutar al hacer clic sobre la base de datos en particular, luego en Tareas > Generar Scripts.

Es una tarea que ya venia de versiones anteriores, pero en la versión 2008 del Management Studio Express en el proceso de generación del script tiene una propiedad que no la vi en la versión 2005, que es “Incluir datos en el script” y lo que permite es incluir todos los datos de las tablas agregadas en la generación del script, en mi caso de todas las tablas de la base de datos.

Esta propiedad la puse en “True” y “Script para versión de servidor” en “SQL Server 2005” y algunas otras propiedades como incluir triggers, etc. Pues bien, luego en la version 2005 cree una nueva base de datos con el mismo nombre (al generar el script se puede activar la propiedad de crear una base de datos también), ejecute el script y listo no fue un proceso largo ni complicado y obtuve toda la base de datos.

40 opiniones en “Restaurar una Base de datos SQL Server 2008 a SQL Server 2005”

  1. muchas gracias por tu artículo, es muy útil ya que Microsoft nos complica la vida para volver a versiones anteriores, tu nos ayudaste mucho!
    Saludos de Uruguay

  2. pero y la informacion ????,
    el generador te da los scripts para crear las tablas y relaciones, pero la informacion ke???

  3. Hola Iban, y justamente la informacion que hablas, es lo que mencione ahi en el post, que tienes que marcar la opcion “Incluir datos en el script” como “TRUE” para que toda la información (los datos) almacenada se incluyan y no solo la creacion de tablas, vistas, procedimientos y demás.

    Saludos!, gracias por comentar el post

  4. yo seguí todos los pasos, y NO SIRVIO DE NADA, ademas trate de hacer otras cosas para solucionar el problema, ni aun asi , siempre me da el siguiente error:

    the operation could not be completed. espacio de almacenamiento insuficiente para procesar este comando

    este metodo no sirve incluso con la base de datos northwind 2008 a 2005. siempre habra mas de un proceso que falle.

  5. Gracias !

    Tu solución me dió la pista aunque en mi caso no funcionó la restauración.

    Resulta que mi base de datos tiene varios cientos de miles de registros. Al intentar cargar el script el sqlserver manager me daba error de espacio.

    Así que en el servidor de 2005 he usado el comando SQLCmd

    C:> sqlcmd -U sa -P mi_password S mi_servidor -d mi_base_de_datos -i mi_script_2008.sql

    en lo que escribo esto lleva cargados 53.000 registros !

    calculo que acabará en 3 o 4 horas

  6. Que bueno que les haya servido a algunos, y a otros a lo mejor no! pero sería bueno que expongan los fallos asi vemos como contribuir a la solución.

    Gracias Calterras por la contribución.

  7. muy buen tip, me pasaron esta info y mi pregunta es si este mismo proceso pudiera funcionar de SQL express 2012 a SQL express 2008?, alguien lo ha probado, aun no he tenido chance de probarlo pero espero hacerlo en estos días.

  8. en Sql Server 2008 R2 funciona poniendo la opción “Types of data to script” en el valor “Schema and Data”

  9. La union del scritp y la solucion de calterras ha funcionado genial. He importado 10 db con 280.000 registros.

    Un apunte en el codigo de calterras:Hay que poner – delante de S

    sqlcmd -U sa -P mi_password -S mi_servidor -d mi_base_de_datos -i mi_script_2008.sql

    Gracias a todos.

  10. Buenas tardes, de antemano agradezco la información. Me sirvio pero no del todo, ya que NO ME RESTAURÓ EL DIAGRA, agradecería mucho si alguien puede aportar información al respecto sigo investigando como solucionarlo.

  11. Buen día!
    Excelente el aporte porque al generar el script este puede ser restaurado en la versión vieja.
    Ahora quisiera preguntarles como puedo generar el script automaticamente con una tarea programada sin necesidad de usar el asistente?

    Gracias de antemano.

    Saludos.

  12. me pueden ayudar hice una restauración, BD. en SQL SERVER para una aplicación pero la restaure marco error, pero se si se restauro todo ya al final quise entrar en la aplicación me marca este error

    Error de servidor en la aplicación ‘/eQDZpro_NOVAVIA’.

    Error del analizador
    Descripción: Error al analizar el recurso requerido para dar servicio a esta solicitud. Revise los detalles de error de análisis específicos y modifique el archivo de código fuente en consecuencia.

    Mensaje de error del analizador: No se pudo cargar el tipo ‘eqdz.Global_asax’.

    Error de código fuente:

    Línea 1:

    Archivo de origen: /eQDZpro_NOVAVIA/global.asax Línea: 1

    Información de versión: Versión de Microsoft .NET Framework:2.0.50727.8009; Versión ASP.NET:2.0.50727.8015

  13. manuel hernandez herandez

    no será que debes probar nuevamente realizar la restauracion?
    que error te lanzo al momento de querer restaurar?.

  14. A mi si me sirvio de sqlexpress 2017 a sqlexpress 2005, pero generando como dijeron el script en 2 partes una con el esquema y otro con los datos.

    Al primero las tablas y objetos, elimine los comandos que cambian los parametro de la base de datos como en donde restaurarse, y eso solo deje la linea

    Create schema xxxx
    go
    y des pues la creacion de las tablas
    create table tabla1…;
    create table tabla2…;

    create table tablaN…;

    este lo ejecute en el SQL2005 y funciono sin ningun problema.

    El otro que pesaba 126mb, no podia ejecutarse en el SQL Management studio; Otro problema es que no tenia autentificacion por usuario (SA) sino autenticacion por windows, asi que utilice el comando sin los parametro -U y -P de la siguiente forma

    C:\Temp>Sqlcms -S Servidor\sqlexpress -D BaseDestino -i ArchivoScrip.sql

    Espero a alquien le sirva…

  15. Otra Idea, si hacer lo del script pero solo la estructura con tablas grandes en script se tendría que dividir y eso es trabajoso, mejor solo generen el script de estructura generen la base sin datos en su servidor y luego pasen los datos con el de migración de datos que lo traen versiones mas extendidas que casi son todas lo traen de herramienta, o lo pueden bajar extra

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *