¿Cuáles son mis opciones si necesito mover una base de datos de SQL Server 2012 (32 bits) a SQL Server 2005 (64 bits)?
Sé que no puedo:
- restaurar una copia de seguridad de la base de datos en SQL Server 2005
- separar y adjuntar
Sé que puedo:
- utilicé el asistente de importación de datos, y lo probé en una base de datos, pero solo mueve datos, e incluso eso fue problemático ya que necesitaba mucho trabajo creando tablas temporales para mantener las columnas de identidad, recreando todos los FK, índices, etc.
¿Hay una opción más fácil?
sql-server
migration
downgrade
Greg Balajewicz
fuente
fuente
Respuestas:
Puede seguir cualquier método a continuación:
Nota: Si está utilizando nuevas funciones, como nuevos tipos de datos, etc., debe probarlo, ya que arrojará errores.
MÉTODO 1: Usar herramientas nativas
Script de la base de datos SCHEMA_ONLY y recrear una base de datos vacía en el servidor de destino. A continuación se muestran las capturas de pantalla:
Use BCP OUT e BULK INSERT para insertar datos.
A continuación se muestra el script que lo ayudará con la Parte 2.
Método 2: uso de herramientas de terceros
Cree una base de datos en blanco en el servidor de destino. Utilice el esquema de comparación de Redgate y la comparación de datos para crear y cargar datos en el servidor de destino.
Nota: He utilizado el esquema y la comparación de datos de Redgate y son las mejores herramientas para ese tipo de tarea y, por lo tanto, si está utilizando herramientas de terceros, mi recomendación sería Redgate.
fuente
Además de los métodos ya sugeridos aquí, también puede intentar crear un archivo BACPAC e importarlo a su destino. Esto es similar a cómo Microsoft recomienda migrar sus bases de datos de las bases de datos locales a la nube de Azure.
El beneficio de esto es que es una combinación de exportación de esquema y datos, y no depende de la versión de la base de datos, por lo que teóricamente podría importar bases de datos de cualquier versión a cualquier versión.
La desventaja es que antes de generar el archivo BACPAC en la fuente, ejecuta algún tipo de proceso de validación estricto que puede fallar fácilmente si tiene referencias a objetos fuera de su base de datos (ya sea usuario o bases de datos del sistema), o si tiene objetos encriptados Pero si tiene suerte y no falla, puede ser una solución bastante fácil.
Todo lo que necesita es una de las versiones más nuevas de SSMS (17 o 18): https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms
Para comenzar a crear un archivo BACPAC, haga clic derecho en una base de datos y seleccione "Exportar aplicación de nivel de datos ..." (asegúrese de no confundirlo con "Extraer aplicación de nivel de datos ...", que es algo diferente):
Se le presentará un asistente simple que lo guiará a través de los pasos. Cuando haya terminado, puede usar "Importar aplicación de nivel de datos ..." en su servidor de destino, que puede ver haciendo clic derecho en el nodo "Bases de datos" (nuevamente, no se confunda con "Implementar datos" -Tier Application ... "):
Esto también le mostrará un asistente simple que lo guiará a través de los pasos.
fuente
Disminuir la versión de SQL Server es un trabajo muy duro.
Hay algunas opciones para disminuir como;
En primer lugar, cree todos los scripts de objetos de la base de datos y ejecútelos en el servidor de destino.
Después de eso puedes usar;
Pero para la herramienta RedGate Data Compare ,
fuente
Es imposible degradar una base de datos en SQL Server. Sin embargo, una solución alternativa es realizar un script de todos los objetos de base de datos y aplicar el script en la base de datos de destino. SSIS es una excelente manera de ayudar a realizar esto.
fuente