none
Migracion SQL Server RRS feed

  • Pregunta

  • Buenas tardes,

    Voy a realizar una migración de sql 2008 a sql 2016, me gustaría saber que pasos debería considerar, no tengo experiencia en ello, por eso mi pregunta al grupo. Espero alguien pueda apoyarme.

    miércoles, 27 de noviembre de 2019 17:32

Respuestas

  • Hola Oskar O.

    • Opción 1: Haz un backup completo, y restaura en el destino. (Mi recomendación) Sin desenganchar en el origen. Cuando tengas comprobado que todo esta ok, entonces desenganchas en origen.
    • Opción 2: Haz un backup completo. Desengancha en origen (dettach), mueve a destino, adjunta en destino (attach).Y cuando todo este ok, puedes eliminar el backup.

    Luego de opción 1 y 2 cambia en nivel de aislamiento de la base de datos, para adaptarla al nuevo escenario.

    Attach

    https://www.sqlrecoverysoftware.net/blog/attach-sql-database.html

    Backup

    https://javifer2.wordpress.com/2018/09/12/backup-base-de-datos-desde-management-studio/

    Restore

    https://javifer2.wordpress.com/2018/09/12/restaurar-base-de-datos-desde-bak-sin-perder-nada/

    Después de todo esto, lo único que te queda, es el/los login de conexion. Pero eso es otra pregunta diferente

    • Marcado como respuesta Oskar O jueves, 28 de noviembre de 2019 19:40
    miércoles, 27 de noviembre de 2019 20:13
  • Durante mucho tiempo Microsoft publico una herramienta llamada Microsoft Upgrade advisor, esta herramienta hoy cambio de nombre a Data Migration Assistant https://docs.microsoft.com/en-us/sql/dma/dma-overview?view=sql-server-2017

    Esta herramienta es el primer paso en tu migración, ya que te ayuda a saber si existe algo en tus datos que no sea compatible con la versión a la cual deseas migrar, si bien en la mayoría de los casos esto no ocurre, existen casos en que los desarrolladores llegan a emplear funciones muy especializadas que llegan a evolucionar de una versión a otra de SQL

    Así que como primer paso te recomiendo que ejecutes esta herramienta, efectua un mantenimiento a tus bases de datos (elimina la fragmentación de tus índices, ejecuta estadificas, elimina logs, reduce el tamaño de tus discos), siempre ten un respaldo antes de iniciar el proceso de migración, y obtén un nuevo respaldo una vez que tu base se encuentre en el nuevo motor.

    De ser posible no borres el motor anterior hasta que tus pruebas con el nuevo motor sean satisfactorias al 100%

    Saludos


    Ing. Carlos Monroy

    • Marcado como respuesta Oskar O jueves, 28 de noviembre de 2019 19:40
    miércoles, 27 de noviembre de 2019 23:15

Todas las respuestas

  • Deleted
    miércoles, 27 de noviembre de 2019 19:37
  • Gracias Jose Diz, por responderme, quizas me estoy confundiendo, si estoy mal por favor me aclaras la duda,cuando se menciona actualizaciones: 

    ¿Se refiere hacer un upgrade al sql server actualmente instalado?

    Porque lo que se desea hacer donde estoy trabajando, es pasar la BD que esta en el servidor source (SQL 2008R2) hacia otro servidor destino (SQL 2016). 

    miércoles, 27 de noviembre de 2019 20:00
  • Porque lo que se desea hacer donde estoy trabajando, es pasar la BD que esta en el servidor source (SQL 2008R2) hacia otro servidor destino (SQL 2016). 

    Salvo que tengas cosas muy raras en la base de datos, normalmente puedes tomar un backup en el 2008R2 y restaurarlo en la otra máquina con SQL 2016 y funciona bien.

    Por supuesto, después tendrás que reconfigurar todo lo que no forme parte del backup, como por ejemplo crear en la nueva máquina todos los Logins y roles que usabas en la antigua y darles permisos adecuados, crear planes de mantenimiento similares a los antiguos, reproducir los Jobs del Agente si es que los usabas, etc. Pero lo que es la base de datos en sí misma no debería tener ningún problema.

    miércoles, 27 de noviembre de 2019 20:13
  • Hola Oskar O.

    • Opción 1: Haz un backup completo, y restaura en el destino. (Mi recomendación) Sin desenganchar en el origen. Cuando tengas comprobado que todo esta ok, entonces desenganchas en origen.
    • Opción 2: Haz un backup completo. Desengancha en origen (dettach), mueve a destino, adjunta en destino (attach).Y cuando todo este ok, puedes eliminar el backup.

    Luego de opción 1 y 2 cambia en nivel de aislamiento de la base de datos, para adaptarla al nuevo escenario.

    Attach

    https://www.sqlrecoverysoftware.net/blog/attach-sql-database.html

    Backup

    https://javifer2.wordpress.com/2018/09/12/backup-base-de-datos-desde-management-studio/

    Restore

    https://javifer2.wordpress.com/2018/09/12/restaurar-base-de-datos-desde-bak-sin-perder-nada/

    Después de todo esto, lo único que te queda, es el/los login de conexion. Pero eso es otra pregunta diferente

    • Marcado como respuesta Oskar O jueves, 28 de noviembre de 2019 19:40
    miércoles, 27 de noviembre de 2019 20:13
  • Gracias Alberto Poblacion por tu respuesta,

    Existe alguna manera (script) con el cual se pueda obtener toda esa información adicional junta o por separado, logins, roles, link servers, jobs, etc. y pasarlo al nuevo server?

    miércoles, 27 de noviembre de 2019 20:28
  • Deleted
    miércoles, 27 de noviembre de 2019 20:37
  • Durante mucho tiempo Microsoft publico una herramienta llamada Microsoft Upgrade advisor, esta herramienta hoy cambio de nombre a Data Migration Assistant https://docs.microsoft.com/en-us/sql/dma/dma-overview?view=sql-server-2017

    Esta herramienta es el primer paso en tu migración, ya que te ayuda a saber si existe algo en tus datos que no sea compatible con la versión a la cual deseas migrar, si bien en la mayoría de los casos esto no ocurre, existen casos en que los desarrolladores llegan a emplear funciones muy especializadas que llegan a evolucionar de una versión a otra de SQL

    Así que como primer paso te recomiendo que ejecutes esta herramienta, efectua un mantenimiento a tus bases de datos (elimina la fragmentación de tus índices, ejecuta estadificas, elimina logs, reduce el tamaño de tus discos), siempre ten un respaldo antes de iniciar el proceso de migración, y obtén un nuevo respaldo una vez que tu base se encuentre en el nuevo motor.

    De ser posible no borres el motor anterior hasta que tus pruebas con el nuevo motor sean satisfactorias al 100%

    Saludos


    Ing. Carlos Monroy

    • Marcado como respuesta Oskar O jueves, 28 de noviembre de 2019 19:40
    miércoles, 27 de noviembre de 2019 23:15
  • Para todos los codigos enviados desde la capa CLIENTE, existe el DEA (Database Experimentation Assistant), lo que comunmente se conoce como PROFILER, solo que el nuevo desarrollo no es intrusivo hacia el motor de la base de datos.

    IIslas Master Consultant SQL Server

    jueves, 28 de noviembre de 2019 2:14