SQL Server: Como restaurar una BD de SQL Server 2008 R2 en versiones previas de SQL Server!

Pues esto es lo que me tocó averiguar el otro día cuando al intentar restaurar un backup realizado en SQL Server 2008 R2 en un SQL Server 2008 me encontré con el siguiente error tan bonito:

  • “…bla bla…The database was backed up on a server running version 10.50.1617. That version is incompatible with this server, which is running version 10.00.5500…bla bla …”….tras acordarme de la familia de quien hizo el backup me puse manos a la obra para buscar una alternativa a instalar SQL Server 2008 R2 que me permitiese poder disponer de una réplica de la BD en mi SQL Server 2008.
  • La alternativa pasa por crear un script del esquema y de los datos de la BD usando para ello las capacidades de SQL Server Management Studio. En concreto a través de las opciones “Tasks –> Generate Scripts” disponible en el menú contextual de la base de datos en cuestión.
  • De esta forma se inicia un asistente para crear dichos scripts.
image image image
  • La siguiente ventana del asistente nos permite seleccionar entre  crear un script de la BD completa o de sólo ciertos objetos de la misma. En mi caso me interesa la BD completa.
  • A continuación se muestra una ventana dónde especificaremos la ruta dónde guardar el script a generar y dónde a través del botón “Advanced” podremos configurar las propiedades adecuadas para generar un script compatible con SQL Server 2008.
  • En la propiedad “Script for Server Version” podemos elegir entre SQL Server 2000, 205, 2008 o 2008 R2. En mi caso he escogido SQL Server 2008. En la propiedad “Type of data to script” podemos elegir una de las siguientes opciones: “Data only”, “Schema Only” o “Schema and data”. En mi caso he escogido la última opción.
image image image
  • Dependiendo de la BD el script generado será más o menos grande lo qué puede ser un problema y dar lugar a errores en su generación en caso de qué su tamaño sea muy grande. En mi caso, el script generado tiene nada menos que 102 MB de tamaño.
  • Una vez generado el script, toca la prueba del algodón: ejecutarlo en una instancia de SQL Server 2008…antes de ejecutarlo aviso a navegantes, revisar que los path de creación de los archivos de la BD estén bien ya que el script tardará bastante en ejecutarse si es pesado y si falla, os podéis encontrar con problemas de out of memory (lo sufrí en mis carnes en mis pruebas…no comments).
  • Interesante también la cantidad de memoria que consume la ejecución de este script infernal.
image image image
  • Tras unos minutos de tensa espera rezando porque el script se ejecute sin problemas y se cree la BD, llegamos aparentemente a un final feliz.

image

Fuente: http://social.msdn.microsoft.com/Forums/en-IE/sqlsetupandupgrade/thread/7eabf4fe-fa69-440b-9327-13cd19630735