

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Migration de bases de données hétérogènes pour SQL Server
<a name="heterogeneous-migration"></a>

En raison des innovations et des améliorations apportées aux bases de données open source et aux plateformes de cloud computing AWS, de nombreuses entreprises abandonnent des moteurs de base de données propriétaires (traitement des transactions en ligne ou OLTP) tels que SQL Server pour des moteurs open source. Les bases de données SQL Server sont des systèmes essentiels pour toute entreprise, mais le fait de devoir s'en remettre à un fournisseur en particulier est une situation risquée et coûteuse. Les faibles coûts d'exploitation et l'absence de frais de licence sont des raisons impérieuses d'envisager de passer de la technologie de base de données sous-jacente à des bases de données open source ou AWS natives du cloud.

Les autres raisons de migrer hors de SQL Server sont les périodes de dépendance vis-à-vis des fournisseurs, les audits de licences, le coût élevé des licences et le coût. C'est pourquoi de nombreuses entreprises choisissent de migrer leurs bases de données SQL Server vers des bases de données open source (telles que PostgreSQL, MySQL ou MariaDB) ou des bases de données AWS natives du cloud (telles qu'Amazon Aurora ou Amazon DynamoDB) lors de leur migration vers. AWS

Vous pouvez également migrer votre base de données SQL Server vers Amazon Redshift, un entrepôt de données cloud rapide et entièrement géré. Amazon Redshift est intégré à votre lac de données, offre des performances jusqu'à trois fois plus rapides que tout autre entrepôt de données et coûte jusqu'à 75 % de moins que tout autre entrepôt de données dans le cloud. Pour plus d'informations, consultez le modèle [Migrer une base de données Microsoft SQL Server locale vers Amazon Redshift à l' AWS DMS aide du site](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms.html) Web Prescriptive AWS Guidance.

Pour migrer vers une base de données open source ou AWS native pour le cloud, choisissez la bonne base de données en fonction du type de données dont vous disposez, du modèle d'accès, de l'évolutivité, des aspects pratiques de l'application et de la complexité. La migration de SQL Server vers PostgreSQL et vers d'autres bases de données open source s'est souvent révélée difficile et chronophage, et nécessite une évaluation, une planification et des tests approfondis.

Ce processus devient plus facile grâce à des services tels que AWS Database Migration Service (AWS DMS) et AWS Schema Conversion Tool (AWS SCT), qui vous aident à migrer votre base de données commerciale vers une base de données open source AWS avec un temps d'arrêt minimal.

Dans les migrations de bases de données hétérogènes, les moteurs de base de données source et cible sont différents, comme dans les migrations de SQL Server vers Aurora ou de SQL Server vers MariaDB. La structure du schéma, les types de données et le code de base de données dans les bases de données source et cible peuvent être très différents. Le schéma et le code doivent donc être transformés avant le début de la migration des données. C'est pourquoi la migration hétérogène est un processus en deux étapes : 
+ Étape 1. Convertissez le schéma et le code source pour qu'ils correspondent à ceux de la base de données cible. Vous pouvez l'utiliser AWS SCT pour cette conversion.
+ Étape 2. Migrez les données de la base de données source vers la base de données cible. Vous pouvez utiliser AWS DMS pour ce processus.

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

AWS DMS gère automatiquement les principales conversions de types de données lors de la migration. La base de données source peut être située dans vos propres locaux à l'extérieur AWS, il peut s'agir d'une base de données exécutée sur une instance EC2 ou d'une base de données Amazon RDS (voir [Sources pour la migration des données](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html) dans la AWS DMS documentation). La cible peut être une base de données dans Amazon EC2, Amazon RDS ou Aurora. Pour plus d'informations sur l'utilisation de MySQL comme base de données cible, consultez la section [Migration d'une base de données SQL Server vers un moteur de base de données compatible MySQL sur le blog de base de données](https://aws.amazon.com/blogs/database/migrating-a-sql-server-database-to-a-mysql-compatible-database-engine/). AWS 

# Outils pour les migrations de bases de données hétérogènes
<a name="heterogeneous-migration-tools"></a>

Le tableau suivant fournit la liste des outils que vous pouvez utiliser pour migrer de SQL Server vers un autre moteur de base de données.


****  

| Outil de migration | Support de base de données cible | Utilisé pour | 
| --- | --- | --- | 
| [AWS SCT](#aws-sct) |  Amazon RDS for MySQL Amazon RDS pour PostgreSQL Amazon Aurora MySQL Amazon Aurora PostgreSQL  | Conversion du schéma | 
| [AWS DMS](#aws-dms) |  Amazon RDS for MySQL Amazon RDS pour PostgreSQL Amazon Aurora MySQL Amazon Aurora PostgreSQL  | Migrations des données | 
| [Babelfish](#babelfish) |  Amazon Aurora PostgreSQL  | Accès aux données et migration | 

Les sous-sections suivantes fournissent des informations supplémentaires sur chaque outil.

## AWS SCT
<a name="aws-sct"></a>

[AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) convertit vos schémas de base de données commerciaux existants en un moteur open source ou en une base de données native pour AWS le cloud. AWS SCT rend les migrations de bases de données hétérogènes prévisibles en convertissant automatiquement le schéma de base de données source et la majorité des objets du code de base de données, y compris les vues, les procédures stockées et les fonctions, dans un format compatible avec la base de données cible. 

Lorsque vous convertissez le schéma de votre base de données d'un moteur à un autre, vous devez également mettre à jour le code SQL de vos applications pour interagir avec le nouveau moteur de base de données plutôt qu'avec l'ancien. AWS SCT convertit également le code SQL en C\$1\$1, C\$1, Java ou autre code d'application. Tous les objets qui ne peuvent pas être convertis automatiquement sont clairement marqués pour une conversion manuelle. AWS SCT peut également scanner le code source de votre application à la recherche d'instructions SQL intégrées et les convertir dans le cadre d'un projet de conversion de schéma de base de données. Pour plus d'informations, consultez la section [Utilisation de Microsoft SQL Server comme source AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.SQLServer.html) dans la AWS documentation. 

## AWS DMS
<a name="aws-dms"></a>

[AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/) migre vos données rapidement et en toute sécurité vers AWS. Pendant la migration, la base de données source reste pleinement opérationnelle, minimisant ainsi le temps d'arrêt des applications. AWS DMS prend en charge les migrations homogènes telles que la migration de données d'une base de données SQL Server vers une autre. Il prend également en charge les migrations hétérogènes entre différentes plateformes de base de données, telles que la migration de votre base de données SQL Server vers une base de données open source ou vers une base de données native pour le cloud. AWS AWS DMS gère les complexités du processus de migration, notamment en répliquant automatiquement les modifications de données qui se produisent dans la base de données source vers la base de données cible. Une fois la migration de base de données terminée, la base de données cible reste synchronisée avec la base de données source aussi longtemps que vous le souhaitez, et vous pouvez passer à la base de données cible au moment opportun. Pour plus d'informations, consultez la section [Utilisation d'une base de données Microsoft SQL Server comme source AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html) dans la AWS documentation.

## Babelfish
<a name="babelfish"></a>

Babelfish est une fonctionnalité intégrée d'Amazon Aurora. Babelfish pour Aurora PostgreSQL permet à vos bases de données Aurora PostgreSQL Edition compatibles de comprendre les commandes des applications écrites pour Microsoft SQL Server. La modification d'applications SQL Server dont le code de base de données SQL Server est écrit en Transact-SQL (T-SQL), le dialecte SQL propriétaire de SQL Server, demande des efforts et prend du temps. [Babelfish pour Aurora PostgreSQL simplifie et facilite ce processus](https://aws.amazon.com/rds/aurora/babelfish/). Avec Babelfish, vous n'avez pas à modifier le code de votre application. Vous pouvez plutôt utiliser Babelfish for Aurora PostgreSQL pour migrer une base de données SQL Server vers un cluster de base de données compatible Aurora PostgreSQL.

Avec Babelfish, Aurora PostgreSQL comprend T-SQL et prend en charge le même protocole de communication. Vous n'avez donc pas à changer de pilote de base de données ou à réécrire les requêtes de votre application. Vos applications initialement écrites pour SQL Server peuvent désormais fonctionner avec Aurora avec moins de modifications de code. Cela réduit les efforts nécessaires pour modifier et déplacer les applications exécutées sur SQL Server ou une version plus récente vers Aurora, ce qui permet des migrations plus rapides, moins risquées et plus économiques.

Si vous migrez à partir de bases de données SQL Server existantes, vous pouvez utiliser Babelfish pour exécuter le code SQL Server parallèlement aux nouvelles fonctionnalités que vous avez créées à l'aide de PostgreSQL natif. APIs Babelfish permet à Aurora PostgreSQL de fonctionner avec les outils, commandes et pilotes SQL Server les plus courants.

Babelfish permet également d'accéder aux données en utilisant la connexion native PostgreSQL. Par défaut, les deux langages SQL pris en charge par Babelfish sont disponibles via leurs protocoles filaires natifs sur les ports suivants :
+ Pour le dialecte SQL Server (T-SQL), connectez-vous au port 1433.
+ Pour le dialecte PostgreSQL (PL/pgSQL), connectez-vous au port 5432.

Babelfish permet à vos anciennes applications SQL Server de communiquer avec Aurora sans avoir à effectuer de nombreuses réécritures de code, en fournissant des connexions depuis le port SQL Server ou PostgreSQL. Le schéma suivant illustre cette architecture.

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


Vous pouvez activer Babelfish sur votre cluster Aurora depuis la console de gestion Amazon RDS. Pour obtenir des instructions, consultez la section [Création d'un cluster de base de données Babelfish pour Aurora PostgreSQL dans](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/babelfish-create.html) la documentation Amazon RDS.

Pour plus d'informations sur la migration, consultez la section [Migration d'une base de données SQL Server vers Babelfish pour Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/babelfish-migration.html) dans la documentation Aurora.

Pour plus d'informations, consultez les ressources suivantes : 
+ [Commencez avec Babelfish pour Aurora PostgreSQL](https://aws.amazon.com/blogs/database/get-started-with-babelfish-for-aurora-postgresql/) (blog de base de données)AWS 
+ [Migrer de SQL Server vers Amazon Aurora à l'aide de Babelfish](https://aws.amazon.com/blogs/database/migrate-from-sql-server-to-amazon-aurora-using-babelfish/) (blog de AWS base de données)
+ [Migrer de SQL Server vers Aurora PostgreSQL à l'aide de SSIS et AWS Babelfish](https://aws.amazon.com/blogs/database/migrate-from-sql-server-to-aurora-postgresql-using-ssis-and-babelfish/) (blog de base de données)
+ [Modifier les packages SSIS de SQL Server vers Babelfish pour Aurora PostgreSQL](https://aws.amazon.com/blogs/database/modify-ssis-packages-from-sql-server-to-babelfish-for-aurora-postgresql/) (blog de base de données)AWS 
+ [Exécuter des rapports SQL Server Reporting Services sur Babelfish pour Aurora PostgreSQL](https://aws.amazon.com/blogs/database/run-sql-server-reporting-services-reports-against-babelfish-for-aurora-postgresql/) (blog de base de données)AWS 
+ [Préparez-vous à la migration de Babelfish avec le rapport d' AWS SCT évaluation (blog de la](https://aws.amazon.com/blogs/database/prepare-for-babelfish-migration-with-the-aws-sct-assessment-report/)AWS base de données)