2009-01-05 24 views
21

Me metí en un aprieto aquí ... trabajando en un proyecto CMS, bajo la suposición de que el servidor sql 2008 estaba iluminado como el db de elección. Bueno, no fue así, ahora tenemos que respaldar todo nuestro contenido en SQL Server 2008 y en SQL Server 2005.Restaurar SQL Server 2008 DB * a * SQL Server 2005

Un simple procedimiento de copia de seguridad/restauración produce: "RESTORE HEADERONLY está terminando anormalmente. (Microsoft SQL Server, Error : 3241) ".

Desafortunadamente, la exportación de los datos a una hoja de cálculo de Excel produce múltiples errores OLE que creo que en realidad es un problema en el DB del cms.

¿Alguien por ahí tiene otros enfoques que le gustaría recomendar para esta tarea? Gracias de antemano

+0

Obtenga las herramientas de comparación/comparación de datos sql según lo sugerido por ocdecio. Funciona como un regalo para este tipo de cosas. http://stackoverflow.com/questions/413699/restore-sql-server-2008-db-to-sql-server-2005#413801. – Kev

Respuesta

15

Uso RedGate:

tool for comparing and deploying SQL Server database contents.

You can work with live databases, backups, or SQL scripts in source control. Damaged or missing data can be restored to a single row, without the need for a full database recovery.

SQL Data Compare helps you compare and deploy changes quickly, simply, and with zero errors...

+0

SQL Compare & SQL Data Comparar rock. Su versión de prueba gratuita de 14 días (que se extenderá si lo preguntas bien) me sacó de un agujero como este. Defo en la lista de compras. – Kev

+0

Por favor, si esto le ahorra un día compre el software, no use la versión de prueba para obtener ganancias comerciales. En mi último papel compramos el software y se pagó por sí mismo muchas veces. –

+0

En mi experiencia, las herramientas RedGate han sido un salvavidas. Aunque si solo lo necesita para un trabajo único, ¿por qué lo compraría? Si lo necesita de nuevo (lo cual creo que hará), ¡cómprelo! – jaffa

0

Solo uso mysql, pero ¿puede exportar sus datos a SQL statments, y luego importarlos a sql2005? Solo un pensamiento ...

+0

Ah, sí lo intenté. El sql luego corrió por más de 12 horas la última noche. El DB no es * tan * grande, así que creo que algo está mal. –

1

No es posible restaurar a versiones anteriores de SQL Server

¿No hay ninguna copia de seguridad de SQL 2005 alrededor? De lo contrario, realmente está limitado a exportar toda la base de datos en 2008 y volver a importarla en 2005, o al asistente Importar/Exportar en 2008

O dependa de herramientas de terceros. p.ej. La comparación de datos de Red Gate es capaz de sincronizarse. DATOS entre 2 servidores/bases de datos

0

Me enfrenté a un problema similar (sql 2005 a sql 2000), y encontré que tenía una base de datos en blanco en la versión anterior. Utilicé bcp.exe para copiar todos los datos.

6

Use generar secuencias de comandos para crear la base de datos y esquema y garantizar a apuntar datos de SQL Server 2005 y de la escritura.

+0

Para generar el script, vea [esta respuesta SO] (http://stackoverflow.com/a/1515975/1402846). – Pang

4

Acabo de llegar al mismo problema y aquí es cómo trabajé a su alrededor.

El problema era copiar una base de datos de una base de datos operativa de SQL Server 2008 a una nueva base de datos de SQL Server 2005.

Escribí la base de datos utilizando Management Studio en el servidor 2008. Solo escribí el diseño de la base de datos, no los datos. Debo agregar también que el DB solo tiene tablas e índices, por lo que no he intentado esto con ningún objeto más inteligente, aunque no puedo pensar por qué no funcionarían.

En el servidor 2005, creé una nueva base de datos a mano y luego ejecuté el script para configurar todas las tablas e índices.

The in Management Studio en el servidor de 2008 Utilicé el asistente Exportar datos para exportar los datos del servidor 2008 al servidor 2005. Actualmente se está ejecutando y parece bastante feliz de mover los datos.

Una vez que todos los datos estén en orden, me quedarán un par de cosas pequeñas por hacer: crear los usuarios y configurar la seguridad en la base de datos de 2005, pero con todo, no parece una mala forma de hacerlo. No es exactamente apuntar y hacer clic, pero no es demasiado extenuante.

Parece que el asistente de copiar base de datos no funcionará (creo que porque el paquete finalmente se ejecuta en el servidor 2005 y 2005 Management Studio no puede comunicarse con 2008) pero el asistente de exportación de datos está bastante feliz moviendo datos. .. siempre que el DB ya exista en el servidor de destino.

Espero que sea útil.

0

verificación de este enlace click here puede crear el script de base de datos en SQL Server 2008 y se puede usar SQL Server 2005 y la versión más baja ....

9

No hay manera de hacer esto de forma predeterminada. Puede generar scripts para la base de datos 2008 en 2008 server y luego ejecutar estos scripts en la versión 2005. Tenga en cuenta que deberá revisar manualmente los scripts y eliminar todas las partes que son exclusivas de la versión 2008.

Otra forma es utilizar herramientas de terceros como Red Gate o ApexSQL Diff (esquema de movimiento) y ApexSQL Data Diff (mover datos).

Cuestiones relacionadas