Restaurar la copia de seguridad de la base de datos de SQL Server en la versión inferior


¿Cómo restaurar la versión superior del archivo de copia de seguridad de la base de datos de SQL Server en la versión inferior de SQL Server?

Usando SQL Server 2008 R2 (10.50.1600), hice un archivo de copia de seguridad de esta versión del servidor y ahora quiero restaurarlo en el servidor SQL Server 2008 (10.00.1600) de mi servidor en vivo. En ese momento cuando restauré en SQL Server 2008 da un error, es decir, Restore Failed porque:

La base de datos fue respaldada en un servidor que ejecuta la versión 10.50.1600. Esa versión es incompatible con esto servidor, que está ejecutando la versión 10.00.1600.

¿Cómo restaurar este archivo de copia de seguridad en este servidor?

 137
Author: marc_s, 2011-05-31

11 answers

No, no es posible degradar una base de datos. 10.50.1600 es la versión de SQL Server 2008 R2. No hay absolutamente ninguna manera de restaurar o adjuntar esta base de datos a la instancia de SQL Server 2008 en la que está intentando restaurar (10.00.1600 es SQL Server 2008). Sus únicas opciones son:

  • actualice esta instancia a SQL Server 2008 R2 o
  • restaure la copia de seguridad que tiene en una instancia de SQL Server 2008 R2, exporte todos los datos e impórtelos en un SQL Server 2008 base.
 63
Author: Remus Rusanu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-31 05:36:43

Aquí están mis 2 centavos en diferentes opciones para completar esto:

Herramientas de terceros: Probablemente la forma más fácil de hacer el trabajo es crear una base de datos vacía en la versión inferior y luego usar herramientas de terceros para leer la copia de seguridad y sincronizar la nueva base de datos recién creada con la copia de seguridad.

Puerta Roja es uno de los más populares, pero hay muchos otros como ApexSQL Diff , ApexSQL Datos Diff, Adepto de SQL, Idera .... Todos estas son herramientas premium, pero puedes hacer el trabajo en modo de prueba;)

Generar scripts: como otros ya han mencionado, siempre puede crear scripts de estructura y datos utilizando SSMS, pero debe tener en cuenta el orden de ejecución. Por defecto, los scripts de objetos no están ordenados correctamente y tendrás que encargarte de las dependencias. Esto puede ser un problema si la base de datos es grande y tiene muchos objetos.

Asistente de importación y exportación: Esto no es un ideal solución, ya que no restaurará todos los objetos, sino solo las tablas de datos, pero puede considerarlo para correcciones rápidas y sucias cuando sea necesario.

 28
Author: Ken Williams,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-18 13:09:17

No necesariamente funcionará

Will trabajo

  • Generación de scripts - Tareas -> Generar Scripts . Asegúrese de establecer la versión de SQL Server de destino deseada en las opciones de Set Scripting -> Página avanzada. También puede elegir si desea copiar esquema, datos o ambos. Tenga en cuenta que en el script generado, es posible que deba cambiar la carpeta de DATOS para los archivos mdf/ldf si se mueve de no express a express o viceversa.

  • Microsoft SQL Server Database Publishing Services - viene con SQL Server 2005 y superior, creo. Descargue la última versión desde aquí . Requisitos previos: sqlncli.msi/sqlncli_x64.msi/sqlncli_ia64.msi, SQLServer2005_XMO.msi/SQLServer2005_XMO_x64.msi/SQLServer2005_XMO_ia64.msi (descargar aquí).

 27
Author: Ohad Schneider,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-12 02:31:21

Puede utilizar la funcionalidad llamada Export Data-Tier Application que genera .bacpac archivo que consiste en esquema de base de datos y datos.

En el servidor de destino, puede usar la opción Importar Aplicación de nivel de datos que crea y rellena una nueva base de datos a partir del archivo .bacpac pre-creado

Si solo desea transferir el esquema de base de datos, puede usar Extract Data-Tier Application para crear un archivo y Deploy Data-Tier Application para implementar created esquema de base de datos.

He probado este proceso en diferentes versiones de SQL Server de SQL 2014 a SQL 2012 y de SQL 2014 a SQL 2008R2 y funcionó bien.

 26
Author: veljasije,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-02 10:31:54

No puede restaurar la base de datos (o adjuntar) creada en la versión superior en la versión inferior. La única manera es crear un script para todos los objetos y usar el script para generar la base de datos.

introduzca la descripción de la imagen aquí

Seleccione "Esquema y datos" - si quieres tomar tanto el cosas en el archivo de script de copia de seguridad
seleccione Solo Esquema - si solo se necesita esquema.

introduzca la descripción de la imagen aquí

Sí, ahora usted haber hecho con el Script Crear con Esquema y Datos de la Base de datos.

 19
Author: Smit Patel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-02 11:06:01

Otra forma de hacer esto es usar la función "Copiar base de datos":

Busque haciendo clic derecho en la base de datos de origen > "Tareas" > "Copiar base de datos".

Puede copiar la base de datos a una versión inferior de la instancia de SQL Server. Esto funcionó para mí desde un SQL Server 2008 R2 (SP1) - 10.50.2789.0 a Microsoft SQL Server 2008 (SP2) - 10.0.3798.0

 12
Author: Joy Walker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-21 19:26:11

Puedes probar esto.

  1. Cree una base de datos en SQL Server 2008.
  2. Usando la función Importar datos importe datos de SQL Server R2 (o cualquier versión superior).
  3. utilice "RedGate SQLCompare" para sincronizar el script.
 6
Author: Ishtiyaq Khan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-16 06:11:51

No es bonito, pero así es como lo hice concedido que tiene esta opción instalada en su instalación SQL 2008 R2..

1) Haga clic derecho en la base de datos en SQL Server 2008 R2 "Tareas".. "Generar scripts" en el asistente, seleccione toda la base de datos y los objetos en el primer paso. En el paso" Set Scripting Options "debería ver un botón" Advanced", seleccione esto y asegúrese de seleccionar" Script for Server Version" = SQL Server 2008 " not R2 version. Este es un paso crucial, porque "importar datos" por en sí mismo no trae consigo todas las claves primarias, constriants y cualquier otro objeto como procedimientos almacenados."

2) Ejecute el script SQL generado en la nueva instalación o instancia de base de datos SQL Express o SQL Server 2008 utilizando la ventana de consulta o abrir guardado .script sql y ejecutar y usted debe ver la nueva base de datos.

3) Ahora haga clic derecho en la nueva base de datos y seleccione "Tareas".. "Importar datos.."elija el origen como la base de datos R2 y el destino como la nueva base de datos. "Copiar datos de una o más tablas o vistas", seleccione la casilla de verificación superior para seleccionar todas las tablas y luego el siguiente paso, ejecute el paquete y debería tener todo en una versión anterior. Esto debería funcionar para volver a una versión de 2005 también. Espero que esto ayude a alguien.

 4
Author: motogeek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-15 20:55:24

Tarea->Generar scripts... en Avanzado en "Tipos de datos para script "seleccione" Shema y datos" Y prueba a ejecutar este script en tu versión inferior

 2
Author: mathewsun,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-10 00:14:29

Puede usar BCP in y out para tablas pequeñas.

Comando de salida BCP: -

BCP "SELECT *  FROM [Dinesh].[dbo].[Invoices]" QUERYOUT C:\av\Invoices1.txt -S MC0XENTC -T -c -r c:\error.csv

BCP EN EL comando:- Crear estructura de tabla para Invoicescopy1.

BCP [Dinesh].[dbo].[Invoicescopy1] IN C:\av\Invoices.txt -S MC0XENTC -T -c
 1
Author: dinesh vishe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-18 06:22:42

Aprecio que este es un post antiguo, pero puede ser útil para la gente saber que el Asistente de Migración de Azure (disponible en Codeplex - no se puede vincular a es como Codeplex es en el momento en que estoy escribiendo esto) lo hará fácilmente.

 0
Author: tony.wiredin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-22 13:30:42