Los archivos de base de datos creados con SQL 2008 no son compatibles con 2005. ¿Existe alguna solución?
32
Los archivos de base de datos creados con SQL 2008 no son compatibles con 2005. ¿Existe alguna solución?
Respuestas:
No se necesitan herramientas de terceros. SQL Server 2008 Management Studio nos brindó una herramienta muy poderosa para convertir una base de datos a una versión anterior porque agregaron una opción de "Datos de script" al asistente de "Base de datos de script".
Simplemente haga clic derecho en la base de datos en SSMS SQL2008, vaya a Tareas, luego "Generar secuencias de comandos"
Recorra el asistente, asegúrese de elegir "Verdadero" para "Datos de script" en las opciones de tabla / vista. Elija todos los objetos, luego ejecute el script que crea en el servidor 2005. (¡Tenga en cuenta que el script creado podría ser masivo si la base de datos original es muy grande!)
Tenga en cuenta que incluso puede ejecutar el asistente en un servidor SQL2005 para convertir una base de datos SQL2005 a SQL2000 (por supuesto, necesitaría las herramientas de 2008 instaladas en su estación de trabajo).
fuente
Puede BCP los datos de una instancia de SQL Server a otra instancia. Esa sería la forma más rápida de copiar los datos de una versión a otra. Dependiendo del volumen de datos, puede llevar mucho tiempo.
fuente
Lamentablemente, no hay una manera directa, que yo sepa, de degradar un DB del formato de 2008 al 2005.
La forma en que lo hice en el pasado (en realidad con versiones anteriores de SQL Server, pero el proceso será el mismo) es:
INSERT destinationserver.destinationdb.schema.table SELECT * FROM sourcedb.schema.table
(o
INSERT schema.table SELECT * FROM sourceserver.sourcedb.schema.table
si ha vinculado las instancias de esa manera) )para cada mesa. Si tiene constricciones y desencadenantes que imponen coherencia entre tablas, por supuesto necesitará ser un poco más inteligente sobre el orden de estas operaciones, especialmente si tiene restricciones cíclicas como una tabla con una restricción basada en sí misma (una jerarquía de retención datos, como un posible ejemplo).
Puede ser más eficiente simplemente copiar los datos primero y agregar todas las demás estructuras (índices, procesos, desencadenantes, ...) después del paso 3. Esto evita problemas de orden de inserción de filas causados por restricciones y desencadenantes, y la construcción de los índices en el En teoría, el final debería ser más rápido que crearlos, ya que se agregan todos los datos, aunque si tiene algún índice agrupado en sus tablas, créelos antes de agregar los datos, ya que no sería más rápido crearlos después del hecho.
Por supuesto, todo esto supone que ninguno de sus objetos usa características específicas de SQL 2008; si lo hacen, con suerte descubrirá y arreglará esas cosas cuando las cosas tengan un error al reconstruir el esquema. Si alguno de sus códigos se basa en un comportamiento oficialmente indefinido que puede haber variado entre las versiones de SQL Server, es posible que tenga errores mucho más sutiles y esquivos para buscar y resolver más tarde.
fuente
Me enfrenté a una situación similar y utilicé el Asistente de publicación de base de datos para crear secuencias de comandos de esquema y datos para SQL Server 2005 de la base de datos SQL Server 2008.
Servicio web de alojamiento de SQL Server (y kit de herramientas)
Asistente de publicación de base de datos
fuente
Primero tiene que hacer un script de la base de datos y asegurarse de que en la versión que especifique el tipo al que desea bajar la calificación. Y copiar los datos de la versión superior a la versión inferior de SQL Data compare le hará el truco por usted.
¡Buena suerte!
fuente