

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Migración heterogénea de bases de datos para SQL Server
Migración heterogénea de bases de datos

Debido a las innovaciones y mejoras en las bases de datos de código abierto y las plataformas de computación en nube AWS, muchas organizaciones están pasando de motores de bases de datos propietarios (procesamiento de transacciones en línea u OLTP), como SQL Server, a motores de código abierto. Las bases de datos de SQL Server son sistemas esenciales para cualquier organización, pero estar sujeto a un proveedor concreto es una situación arriesgada y costosa. Los bajos costos operativos y la ausencia de tasas de licencia son motivos de peso para considerar el cambio de la tecnología de base de datos subyacente a bases de datos de código abierto o nativas en la nube de AWS .

Otros motivos para migrar fuera de SQL Server son los períodos de dependencia de los proveedores, las auditorías de licencias, las licencias caras y el costo. Por este motivo, muchas organizaciones optan por migrar sus bases de datos de SQL Server a bases de datos de código abierto (como PostgreSQL, MySQL o MariaDB) o a bases de datos nativas en la nube de AWS (como Amazon Aurora o Amazon DynamoDB) cuando migran a AWS.

También puede migrar su base de datos de almacenamiento de datos de SQL Server a Amazon Redshift, que es un almacenamiento de datos en la nube rápido y completamente administrado. Amazon Redshift se integra con su lago de datos, ofrece un rendimiento hasta tres veces más rápido que cualquier otro almacenamiento de datos y cuesta hasta un 75 por ciento menos que cualquier otro almacenamiento de datos en la nube. Para obtener más información, consulte el patrón [Migrar una base de datos de Microsoft SQL Server local a Amazon Redshift](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms.html) que se AWS DMS utiliza en AWS el sitio web Prescriptive Guidance.

Para migrar a una base de datos de código abierto o AWS nativa de la nube, elija la base de datos adecuada en función del tipo de datos que tenga, el modelo de acceso, la escalabilidad, los aspectos prácticos de la aplicación y la complejidad. La migración de SQL Server a PostgreSQL y a otras bases de datos de código abierto a menudo ha sido difícil y ha llevado mucho tiempo, y requiere una evaluación, planificación y pruebas cuidadosas.

Este proceso se hace más fácil con servicios como AWS Database Migration Service (AWS DMS) y AWS Schema Conversion Tool (AWS SCT), que le ayudan a migrar su base de datos comercial a una base de datos de código abierto con un tiempo de inactividad mínimo. AWS 

En las migraciones de bases de datos heterogéneas, los motores de base de datos de origen y de destino son diferentes, como en las migraciones de SQL Server a Aurora o de SQL Server a MariaDB. La estructura del esquema, los tipos de datos y el código de la base de datos de las bases de datos de origen y de destino pueden ser muy diferentes, por lo tanto, el esquema y el código deben transformarse antes de que se inicie la migración de datos. Por este motivo, la migración heterogénea es un proceso de dos pasos: 
+ Paso 1. Convertir el esquema y el código de origen para que coincidan con los de la base de datos de destino. Puede utilizarlos AWS SCT para esta conversión.
+ Paso 2. Migrar datos de la base de datos de origen a la base de datos de destino. Puedes usarlo AWS DMS para este proceso.

 ![\[Heterogeneous database migration with AWS SCT and AWS DMS\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/migration-sql-server/images/migration-tools.png) 

AWS DMS gestiona automáticamente las principales conversiones de tipos de datos durante la migración. La base de datos de origen puede estar ubicada en sus propias instalaciones externas AWS, puede ser una base de datos que se ejecute en una instancia EC2 o puede ser una base de datos de Amazon RDS (consulte [Fuentes para la migración de datos](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html) en la AWS DMS documentación). El destino puede ser una base de datos en Amazon EC2, Amazon RDS o Amazon Aurora. Para obtener información sobre el uso de MySQL como base de datos de destino, consulte [Migración de una base de datos de SQL Server a un motor de base de datos compatible con MySQL en el blog de bases de datos](https://aws.amazon.com/blogs/database/migrating-a-sql-server-database-to-a-mysql-compatible-database-engine/). AWS 

# Herramientas para las migraciones heterogéneas de bases de datos
Tools (Herramientas)

El siguiente gráfico proporciona una lista de herramientas que puede utilizar para migrar de la base de datos de SQL Server a otro motor de base de datos.


****  

| Herramienta de migración | Soporte para la base de datos de destino | Utilizado para | 
| --- | --- | --- | 
| [AWS SCT](#aws-sct) |  Amazon RDS para MySQL Amazon RDS para PostgreSQL MySQL de Amazon Aurora PostgreSQL de Amazon Aurora  | Conversión de esquemas | 
| [AWS DMS](#aws-dms) |  Amazon RDS para MySQL Amazon RDS para PostgreSQL MySQL de Amazon Aurora PostgreSQL de Amazon Aurora  | Migración de datos | 
| [Babelfish](#babelfish) |  PostgreSQL de Amazon Aurora  | Acceso y migración de datos | 

En las siguientes subsecciones se proporciona más información sobre cada herramienta.

## AWS SCT


[AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) convierte sus esquemas de bases de datos comerciales existentes en un motor de código abierto o en una base de datos nativa de la nube. AWS AWS SCT hace que las migraciones de bases de datos heterogéneas sean predecibles al convertir automáticamente el esquema de la base de datos de origen y la mayoría de los objetos del código de la base de datos, incluidas las vistas, los procedimientos almacenados y las funciones, a un formato compatible con la base de datos de destino. 

Al convertir el esquema de la base de datos de un motor a otro, también es necesario actualizar el código SQL de las aplicaciones para que interactúen con el nuevo motor de base de datos en lugar del anterior. AWS SCT también convierte el código SQL en C\$1\$1, C\$1, Java u otro código de aplicación. Los objetos que no se puedan convertir automáticamente están claramente marcados para su conversión manual. AWS SCT también puede escanear el código fuente de la aplicación en busca de sentencias SQL incrustadas y convertirlas como parte de un proyecto de conversión de esquemas de bases de datos. Para obtener más información, consulte [Uso de Microsoft SQL Server como fuente AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.SQLServer.html) en la AWS documentación. 

## AWS DMS


[AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/) migra sus datos de forma rápida y segura a AWS. Durante la migración, la base de datos de origen permanece en pleno funcionamiento, lo que minimiza el tiempo de inactividad de las aplicaciones. AWS DMS admite migraciones homogéneas, como la migración de datos de una base de datos de SQL Server a otra. También admite migraciones heterogéneas entre diferentes plataformas de bases de datos, como la migración de la base de datos de SQL Server a una base de datos de código abierto o a una base de datos nativa de la nube. AWS AWS DMS gestiona las complejidades del proceso de migración, incluida la replicación automática de los cambios de datos que se producen en la base de datos de origen en la base de datos de destino. Una vez realizada la migración de la base de datos, la base de datos de destino permanece sincronizada con la base de datos de origen todo el tiempo que desee, lo que le permite cambiar la base de datos cuando le convenga. Para obtener más información, consulte [Uso de una base de datos de Microsoft SQL Server como fuente AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html) en la AWS documentación.

## Babelfish


Babelfish es una capacidad integrada de Amazon Aurora. Babelfish para Aurora PostgreSQL permite que sus bases de datos de edición compatible con Aurora PostgreSQL entiendan los comandos de las aplicaciones que se escribieron para Microsoft SQL Server. Modificar las aplicaciones de SQL Server que tienen código de base de datos de SQL Server escrito en Transact-SQL (T-SQL), el dialecto SQL patentado por SQL Server, requiere esfuerzo y lleva mucho tiempo. [Babelfish para Aurora PostgreSQL](https://aws.amazon.com/rds/aurora/babelfish/) simplifica y facilita este proceso. Con Babelfish, no es necesario que realice ningún cambio en el código de su aplicación. En su lugar, puede utilizar Babelfish para Aurora PostgreSQL a fin de migrar una base de datos de SQL Server a un clúster de base de datos de Amazon Aurora PostgreSQL.

Con Babelfish, Aurora PostgreSQL entiende T-SQL y admite el mismo protocolo de comunicación, por lo que no tiene que cambiar de controladores de la base de datos ni reescribir las consultas de su aplicación. Sus aplicaciones que se escribieron originalmente para SQL Server ahora pueden funcionar con Aurora con menos cambios de código. Esto reduce el esfuerzo necesario para modificar y mover las aplicaciones que se ejecutan en SQL Server o versiones más recientes a Aurora, lo que permite migraciones más rápidas, de menor riesgo y más económicas.

Si vas a migrar desde bases de datos antiguas de SQL Server, puedes usar Babelfish para ejecutar código de SQL Server junto con las nuevas funcionalidades que hayas creado con PostgreSQL nativo. APIs Babelfish permite a Aurora PostgreSQL trabajar con las herramientas, comandos y controladores de SQL Server más utilizados.

Babelfish también proporciona acceso a los datos mediante la conexión de PostgreSQL nativa. De forma predeterminada, los dos dialectos SQL que admite Babelfish están disponibles a través de sus protocolos de conexión nativos en los siguientes puertos:
+ Para dialecto de SQL Server (T-SQL), conéctese al puerto 1433.
+ Para dialecto de PostgreSQL (PL/pgSQL), conéctese al puerto 5432.

Babelfish permite que sus aplicaciones heredadas de SQL Server se comuniquen con Aurora sin tener que reescribir el código de forma exhaustiva, ya que proporciona conexiones desde el puerto de SQL Server o PostgreSQL. En el siguiente diagrama se ilustra esta arquitectura.

![\[Comunicaciones entre Babelfish y Aurora\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/migration-sql-server/images/babelfish.png)


Puede habilitar Babelfish en el clúster de Aurora en la consola de administración de Amazon RDS. Para obtener instrucciones, consulte [Creación de un clúster de base de datos de Babelfish para Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/babelfish-create.html) en la documentación de Amazon RDS.

Para obtener más información sobre la migración, consulte [Migración de una base de datos SQL Server a Babelfish para Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/babelfish-migration.html) en la documentación de Aurora.

Para obtener información adicional, consulte los siguientes recursos: 
+ [Introducción a Babelfish para Aurora PostgreSQL](https://aws.amazon.com/blogs/database/get-started-with-babelfish-for-aurora-postgresql/) (blog sobre bases de datos)AWS 
+ [Migre de SQL Server a Amazon Aurora con Babelfish](https://aws.amazon.com/blogs/database/migrate-from-sql-server-to-amazon-aurora-using-babelfish/) (blog sobre AWS bases de datos)
+ [Migre de SQL Server a Aurora PostgreSQL mediante SSIS y](https://aws.amazon.com/blogs/database/migrate-from-sql-server-to-aurora-postgresql-using-ssis-and-babelfish/) Babelfish (blog sobre bases de datos)AWS 
+ [Modifique los paquetes SSIS de SQL Server a Babelfish para Aurora PostgreSQL](https://aws.amazon.com/blogs/database/modify-ssis-packages-from-sql-server-to-babelfish-for-aurora-postgresql/) (blog de bases de datos)AWS 
+ [Ejecutar informes de SQL Server Reporting Services en Babelfish para Aurora PostgreSQL](https://aws.amazon.com/blogs/database/run-sql-server-reporting-services-reports-against-babelfish-for-aurora-postgresql/) (blog sobre bases de datos de AWS )
+ [Prepárese para la migración de Babelfish con](https://aws.amazon.com/blogs/database/prepare-for-babelfish-migration-with-the-aws-sct-assessment-report/) el informe de evaluación (blog de la base de datos) AWS SCT AWS 