Inicio Programación

SQL – Error al restaurar base de datos en Microsoft SQL Server

4
Logo - Buscar un dato o campo en todas las tablas de la base de datos


Ultima Actualización del Artículo: Nov 11, 2016

Si obtenemos uno de los mensajes de error mencionados en esta publicación al restaurar una base de datos el motivo es la versión en la cual se realizo la base de datos es una versión superior a donde queremos restaurar la base de datos, esto suele suceder cuando transferimos o queremos migrar la base de datos a otro equipo o servidor, el mensaje de error debe cambia segun la versión, algunos de ellos son.

database_restore_error

SQL Server 2008 R2 to SQL Server 2008

Msg 3169, Level 16, State 1, Line 1
The database was backed up on a server running version 10.50.1600. That version is incompatible with this server, which is running version 10.00.1600. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

SQL Server 2008 R2 to SQL Server 2005

Server: Msg 3241, Level 16, State 7, Line 1
The media family on device ‘g:\DB\SisDB-FullBackUp-12-05-2011.bak’ is incorrectly formed. SQL Server cannot process this media family.
Server: Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

SQL Server 2008 R2 to SQL Server 2000

Server: Msg 3169, Level 16, State 1, Line 1
The backed-up database has on-disk structure version 661. The server supports version 539 and cannot restore or upgrade this database.
Server: Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

Nota
Si obtenemos alguno de esos errores, al momento de realizar esta publicación no exista una forma confiable de manejar el archivo .bak para lograr restaurar la base de datos satisfactoriamente, la forma mas confiable y viable para no obtener inconsistencias en nuestra base de datos es generando un Script de inserción o actualizar la versión de SQL Server, esto es para cuando queremos restaurar la base de datos en otro equipo o servidor, ya que si es en el mismo equipo, no nos permitirá instalar una versión anterior a SQL y si actualizamos nuestros Back Ups serán compatibles completamente, Si conoces una nueva forma puedes compartirlo con el equipo así extendemos nuestro conocimiento.

Procesos a realizar para restaurar una base de datos de una versión de SQL mas reciente a una posterior

Nota
Importante! Se ha probado y utilizado en bases de datos pequeñas donde el archivo .sql no pesa mas de 2 Gb donde el proceso tarda en aprox. 15 min. Quizás en base de datos mayores a 5Gb a mi criterio ya no es recomendable
  1. Generando Script con datos (Genera Script de inserción).Generar-Script-SQL-Con-Datos-1
  2. Se abrirá el Asistente (Wizard).Generar-Script-SQL-Con-Datos-2
  3. Seleccionamos la Base de Datos de la cual deseamos generar el Script.    Generar-Script-SQL-Con-Datos-3
  4. Seleccionamos la versión a la cual queremos restaurar la Base de Datos (de preferencia que sea una anterior).Generar-Script-SQL-Con-Datos-4-1024x529
  5. Seleccionamos que deseamos generar el Script con Datos, Esta opción nos genera el Script con los datos que contiene la base de datos (Insert into)generar-script-sql-con-datos-5-1024x529
  6. Si la base de datos es muy grande lo recomendable es generar el script en archivo, y damos siguiente (Next)Generar-Script-SQL-Con-Datos-6-1024x529
  7. Damos clic en Finish donde comenzara el proceso generando Script SQL.Generar-Script-SQL-Con-Datos-7-1024x528 
  8. En la siguiente ventana nos mostrara el detalle y estatus del progreso.Generar-Script-SQL-Con-Datos-8-1024x528
  9. Finalizamos el proceso ahora ya podemos transferir el archivo al servidor donde deseemos importar la base de datos.

 

La Segunda Opción

Nuestra otra opción es actualizar la versión de SQL Server a la versión que requerimos o a una mas reciente.

COMPARTIR
Mi nombre es Fernando, soy analista de sistemas actualmente trabajo en una empresa con mas de 200 empleados que utilizan equipo de computo al cual se les da soporte en el departamento. Uno de mis pasatiempos fuera de la empresa es escribir artículos para PortalMasTips donde documento los problemas, inquietudes y detalles interesantes que se presentan.

4 Comentarios

  1. Hola Amigo si tengo una mira me han pasado una base de datos para restaurarla, pero es SQL 2000 y pues yo tengo el 2012 y me da error de incompatibilidad de servidor como puedo arreglarlo sin tener que solicitar de nuevo el archivo

    • Buen dia Angel!

      Puede llegar a ser algo tardado el proceso ya que debemos conocer la versión exacta de la cual proviene la base de datos y se debe migrar de SQL 2000 SP4 a 2008 y después a SQL 2012, previo a esto se recomienda verificar la base de datos con la aplicación Microsoft SQL Server 2008 Upgrade Advisor el cual te mostrara si algún objeto, procedimiento, etc.. dejara de funcionar el cual tendrías que corregir.

      Yo en estos casos me he instalado PCs virtuales con las diferentes versiones de SQL para realizar estas migraciones.

      Saludos.

  2. Bueno yo cree la base datos en un sql server 2014 y lo quiero restaurar en otro servidor tambien con sql server 2014 y me sale error en la compatibilidad

    • Buen dia Yeison

      Es bastante extraño que de marque el error siendo 2014 ambas instalaciones.

      Puedes ejecutar la linea SELECT @@VERSION AS ‘SQL Server Version’;

      para verificar que sean exactamente la misma versión si son diferente SP puede ser el motivo.

      Saludos.

Deja un comentario...