Cloud

Data Migration Assistant: Migrar de SQL Server a Azure SQL

En el pasado post vimos las distintas soluciones de SQL en la nube. En este post vamos a hablar de la herramienta Data Migration Assistant (o DMA), una aplicación de Microsoft que nos va a permitir migrar bases de datos SQL de nuestros servidores On Premise a la nube de Azure de forma fácil y rápida. Esta herramienta es ideal para los profesionales que quieren aprovechar las ventajas de la nube, como la escalabilidad, la seguridad y el ahorro de costes, sin perder el control y el rendimiento de sus datos.

Que es Data Migration Assistant

Data Migration Assistant es una solución integrada que nos ofrece Microsoft para facilitar el proceso de migración de bases de datos SQL a Azure. Con esta herramienta, además, podemos realizar las siguientes tareas:

  • Analizar el estado y la compatibilidad de nuestras bases de datos SQL con Azure.
  • Seleccionar el servicio de Azure más adecuado para alojar nuestras bases de datos, ya sea Azure SQL Database, Azure SQL Managed Instance o Azure SQL Server en una máquina virtual.
  • Realizar la migración de los datos, los esquemas, los objetos y las configuraciones de nuestras bases de datos SQL a Azure.
  • Validar y monitorizar el resultado de la migración y resolver posibles problemas.

¿Cómo usar Data Migration Assistant?

Para usar Data Migration Assistant necesitamos tenerlo instalado en nuestro equipo local, no os preocupéis porque es una aplicación gratuita que nos permite realizar el análisis y la evaluación de nuestras bases de datos SQL. También necesitamos tener una cuenta de Azure con una suscripción activa.

El proceso de migración se realiza en cuatro pasos:

  1. Crear un proyecto de migración en el DMA, indicando el origen y el destino de los datos, el tipo de migración (esquema, datos o ambos) y el alcance del proyecto (una o varias bases de datos).
  2. Ejecutar una evaluación de las bases de datos seleccionadas, que nos mostrará un informe con los posibles problemas de compatibilidad, las recomendaciones y las acciones correctivas que debemos realizar antes de la migración.
  3. Crear o seleccionar el servicio de Azure donde queremos alojar nuestras bases de datos, configurando los parámetros necesarios como el tamaño, la ubicación, la red y la seguridad.
  4. Ejecutar la migración propiamente dicha, que se realizará en modo online u offline dependiendo del servicio de destino elegido. Durante la migración podremos ver el progreso y el estado de cada base de datos.

Al finalizar la migración podremos acceder a nuestras bases de datos SQL en Azure desde cualquier dispositivo y aplicación, con las mismas funcionalidades y herramientas que teníamos en On Premise, pero con las ventajas añadidas de la nube.

Otros usos de Data Migration Assistant

Además de para migrar hacia Azure, DMA nos permite realizar migraciones entre otros entornos incluidos de On Premise a On Premise, AWS a On Premise, incluso a servidores SQL en servidores Linux. DMA acepta como origen todas las versiones de SQL Server On Premise desde SQL 2005 hasta SQL 2022 así como AWS RDS. Como destino podremos seleccionar cualquier SQL On Premise desde SQL 2012 hasta SQL 2022 o los servicios de Azure ya mencionados.

Por si esto fuese poco, no solo migrará nuestras bases de datos sino también objetos como inicios de sesión, roles de servidor e, incluso, evaluará la viabilidad de la migración de los paquetes SSIS.

Alternativas

Si no queremos usar Data Migration Assistant para realizar la migración, existen otras alternativas como:

  • Usar el portal de Azure o PowerShell para crear y configurar manualmente los servicios de destino y copiar los datos mediante herramientas como SQL Server Management Studio (SSMS), Azure Data Studio o bcp.
  • Usar Azure Database Migration Service (DMS), que es un servicio gestionado que nos permite realizar migraciones online o offline con un mínimo tiempo de inactividad. DMS soporta más tipos de origen y destino que DMA, como Oracle, MySQL o PostgreSQL.
  • Usar otras herramientas o servicios externos que ofrezcan soluciones específicas para cada caso, como Apex, Flyway, Redgate o Attunity.

Conclusión

Data Migration Assistant es una herramienta muy útil cuando queremos llevar a cabo una migración de SQL Server a la nube o a un entorno local sin complicaciones ni riesgos. Con esta herramienta podemos realizar una migración rápida, segura y eficiente, aprovechando al máximo los recursos y servicios que nos ofrece Azure. Si os ha quedado cualquier duda o queréis contarme vuestra opinión os leo en los comentarios, en Twitter o en mi mail..

Publicado por Roberto Carrancio en Cloud, SQL Server, 2 comentarios
SQL Server en la nube

SQL Server en la nube

Hoy vamos a hablar de las soluciones SQL en la nube que ofrecen tanto Azure de Microsoft como AWS de Amazon. Entre otras cosas vamos a ver: ¿Qué ventajas tiene alojar una base de datos en la nube? ¿Qué opciones tenemos para elegir la plataforma más adecuada para nuestras necesidades? ¿Qué diferencias hay entre una base de datos solo en Azure, una instancia gestionada en Azure o AWS RDS, y una máquina virtual con una instancia instalada en Azure o en AWS? 

¿Por qué debería irme a la nube?

Lo primero que hay que tener en cuenta es que la nube nos ofrece una serie de beneficios que no podemos obtener con una base de datos local. Algunos de estos beneficios son:

  • Escalabilidad: podemos aumentar o disminuir los recursos asignados a nuestra base de datos según la demanda, sin tener que invertir en hardware adicional o realizar complejas migraciones.
  • Disponibilidad: la nube nos garantiza un alto nivel de disponibilidad y redundancia, lo que significa que nuestra base de datos estará siempre accesible y protegida ante posibles fallos o desastres.
  • Seguridad: la nube cuenta con medidas de seguridad avanzadas que protegen nuestra base de datos de ataques externos o internos, así como de pérdidas o fugas de datos.
  • Coste: la nube nos permite pagar sólo por los recursos que utilizamos, lo que, teóricamente, supone un ahorro frente al coste fijo de mantener una infraestructura propia.

Opciones SQL en la nube

Ahora bien, ¿qué plataforma elegir para alojar nuestra base de datos SQL en la nube? Tanto Azure como AWS son dos gigantes del sector que ofrecen soluciones robustas y flexibles para diferentes escenarios. Veamos algunas de las opciones que tenemos en cada una de ellas.

Primera opción: Base de datos en la nube:

La primera opción sería alojar nuestra base de datos solo en Azure, es decir, utilizar el servicio Azure SQL Database. Podríamos decir que esta es la opción de entrada a la nube de Microsoft. Este servicio nos permite crear y gestionar bases de datos relacionales en la nube, sin tener que preocuparnos por el mantenimiento o la administración del servidor. Azure SQL Database se encarga de todo: desde el aprovisionamiento hasta el backup, pasando por el parcheo, el monitoreo o el balanceo de carga. Además, Azure SQL Database nos ofrece compatibilidad con el lenguaje T-SQL y con las herramientas y aplicaciones habituales de SQL Server, lo que facilita la migración desde una base de datos local. Otra ventaja es que Azure SQL Database se integra con otros servicios de Azure, como Azure Active Directory, Azure Synapse Analytics o Azure Machine Learning.

Segunda opción: Instancia SQL en la nube:

La siguiente opción es utilizar una instancia gestionada en Azure, es decir, el servicio Azure SQL Managed Instance. Este servicio es similar al anterior, pero nos ofrece un mayor grado de control y personalización sobre nuestra base de datos. Con Azure SQL Managed Instance podemos configurar aspectos como el tamaño del almacenamiento, el número de núcleos, el nivel de aislamiento o el modelo de recuperación. Además, Azure SQL Managed Instance nos permite acceder a características propias de SQL Server, como el servicio de agente, los trabajos programados, las réplicas secundarias o el cifrado transparente de datos. Esta opción es ideal para aquellos casos en los que necesitamos una mayor compatibilidad con SQL Server o una mayor flexibilidad para adaptar nuestra base de datos a nuestros requisitos.

Si queremos usar una solución de Amazon nuestra opción será utilizar RDS, es decir, el servicio Amazon Relational Database Service. Este servicio nos permite crear y gestionar bases de datos relacionales en la nube utilizando diferentes motores, entre ellos SQL Server. Al igual que los servicios anteriores, RDS se encarga del aprovisionamiento, el backup, el parcheo y el monitoreo de nuestra base de datos. Además, RDS nos ofrece características como la replicación múltiple, el escalado automático, la restauración puntual o la migración de datos. RDS se integra con otros servicios de AWS, como Amazon S3, Amazon VPC o Amazon CloudFormation.

Tercera opción: Servidor en la nube:

Para terminar, otra opción es utilizar una máquina virtual con una instancia instalada en Azure o en AWS. Esta opción consiste en crear una máquina virtual en la nube y luego instalar y configurar manualmente una instancia de SQL Server en ella. Esta opción nos da el máximo control sobre nuestra base de datos, ya que podemos elegir el sistema operativo, el hardware y las características que queremos utilizar. Sin embargo, esta opción también implica un mayor esfuerzo y responsabilidad por nuestra parte, ya que tendremos que ocuparnos del mantenimiento y la administración tanto del servidor como de la base de datos. Esta opción es recomendable para aquellos casos en los que tenemos requisitos muy específicos o complejos que no podemos cubrir con las opciones anteriores.

¿Qué opción elegir?

Como hemos visto, tanto Azure como AWS nos ofrecen diferentes formas de alojar una base de datos SQL en la nube, cada una con sus ventajas e inconvenientes. La elección dependerá de factores como el presupuesto, el rendimiento, la compatibilidad, la seguridad o la facilidad de uso. Lo importante es analizar bien nuestras necesidades y comparar las distintas opciones para encontrar la que mejor se adapte a nuestro proyecto.

Conclusión

Espero que este artículo te haya resultado útil e interesante. Próximamente profundizaremos más en estas soluciones en la nube y herramientas específicas. 

¿Vosotros qué opináis? ¿Os convencen las soluciones en la nube? Os leo en los comentarios y en Twitter.

Publicado por Roberto Carrancio en Cloud, SQL Server, 4 comentarios