

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Migração heterogênea de banco de dados para o SQL Server
Migração heterogênea de banco de dados

Devido às inovações e aprimoramentos em bancos de dados de código aberto e plataformas de computação em nuvem AWS, muitas organizações estão migrando de mecanismos de banco de dados proprietários (processamento de transações on-line ou OLTP), como o SQL Server, para mecanismos de código aberto. Os bancos de dados SQL Server são sistemas essenciais para qualquer organização, mas ficar preso a um determinado fornecedor é uma situação arriscada e cara. O baixo custo operacional e a ausência de taxas de licenciamento são motivos convincentes para considerar a mudança da tecnologia de banco de dados subjacente para bancos de dados de código aberto ou nativos da AWS Cloud.

Outros motivos para migrar do SQL Server são períodos de dependência de fornecedores, auditorias de licenciamento, licenciamento caro e custo. Por esse motivo, muitas organizações optam por migrar seus bancos de dados do SQL Server para bancos de dados de código aberto (como PostgreSQL, MySQL ou MariaDB) ou bancos de dados nativos da AWS Cloud (como Amazon Aurora ou Amazon DynamoDB) quando migram para o AWS.

Você também pode migrar seu banco de dados data warehouse do SQL Server para o Amazon Redshift, que é um data warehouse em nuvem rápido e totalmente gerenciado. O Amazon Redshift é integrado ao seu data lake, oferece desempenho até três vezes mais rápido do que qualquer outro data warehouse e custa até 75% menos do que qualquer outro data warehouse na nuvem. Para obter mais informações, consulte o padrão [Migrar um banco de dados local do Microsoft SQL Server para o Amazon Redshift AWS DMS](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms.html) usando o site Prescriptive AWS Guidance.

Para migrar para um banco de dados de código aberto ou AWS nativo da nuvem, escolha o banco de dados certo, dependendo do tipo de dados que você tem, do modelo de acesso, da escalabilidade, dos aspectos práticos do aplicativo e da complexidade. A migração do SQL Server para o PostgreSQL e para outros bancos de dados de código aberto costuma ser difícil e demorada, além de exigir avaliação, planejamento e testes cuidadosos.

Esse processo se torna mais fácil com serviços como AWS Database Migration Service (AWS DMS) e AWS Schema Conversion Tool (AWS SCT), que ajudam você a migrar seu banco de dados comercial para um banco de dados de código aberto AWS com o mínimo de tempo de inatividade.

Em migrações heterogêneas de banco de dados, os mecanismos de banco de dados de origem e destino são diferentes, como nas migrações do SQL Server para Aurora ou do SQL Server para o MariaDB. A estrutura do esquema, os tipos de dados e o código do banco de dados nos bancos de dados de origem e de destino podem ser bem diferentes e, portanto, o esquema e o código devem ser transformados antes do início da migração de dados. Por esse motivo, a migração heterogênea é um processo de duas etapas: 
+ Etapa 1. Converta o esquema e o código de origem para que correspondam aos do banco de dados de destino. Você pode usar AWS SCT para essa conversão.
+ Etapa 2. Migre dados do banco de dados de origem para o banco de dados de destino. Você pode usar AWS DMS para esse processo.

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

AWS DMS processa automaticamente as principais conversões de tipos de dados durante a migração. O banco de dados de origem pode estar localizado em suas próprias instalações externas AWS, pode ser um banco de dados executado em uma instância do EC2 ou pode ser um banco de dados Amazon RDS (consulte [Fontes para migração de dados](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html) na AWS DMS documentação). O destino pode ser um banco de dados no Amazon EC2, Amazon RDS ou Aurora. Para obter informações sobre como usar o MySQL como banco de dados de destino, consulte [Migração de um banco de dados do SQL Server para um mecanismo de banco de dados compatível com o MySQL no blog do banco de dados](https://aws.amazon.com/blogs/database/migrating-a-sql-server-database-to-a-mysql-compatible-database-engine/). AWS 

# Ferramentas para migraçãoes heterogênea de bancos de dados
Ferramentas

O gráfico a seguir fornece uma lista de ferramentas que você pode usar para migrar do SQL Server para outro mecanismo de banco de dados.


****  

| Ferramenta de migração | Suporte ao banco de dados Target | Usado para | 
| --- | --- | --- | 
| [AWS SCT](#aws-sct) |  Amazon RDS para MySQL Amazon RDS para PostgreSQL Amazon Aurora MySQL Amazon Aurora PostgreSQL  | Conversão do esquema | 
| [AWS DMS](#aws-dms) |  Amazon RDS para MySQL Amazon RDS para PostgreSQL Amazon Aurora MySQL Amazon Aurora PostgreSQL  | Migração de dados | 
| [Babelfish](#babelfish) |  Amazon Aurora PostgreSQL  | Acesso e migração de dados | 

As subseções a seguir fornecem mais informações sobre cada ferramenta.

## AWS SCT


[AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) converte seus esquemas de banco de dados comerciais existentes em um mecanismo de código aberto ou em um banco de dados nativo AWS da nuvem. AWS SCT torna previsíveis as migrações heterogêneas do banco de dados ao converter automaticamente o esquema do banco de dados de origem e a maioria dos objetos do código do banco de dados, incluindo visualizações, procedimentos armazenados e funções, em um formato compatível com o banco de dados de destino. 

Ao converter seu esquema de banco de dados de um mecanismo para outro, você também precisa atualizar o código SQL em seus aplicativos para interagir com o novo mecanismo de banco de dados em vez do antigo. AWS SCT também converte o código SQL em C\$1\$1, C\$1, Java ou outro código de aplicativo. Todos os objetos que não podem ser convertidos automaticamente são claramente marcados para conversão manual. AWS SCT também pode escanear o código-fonte do aplicativo em busca de instruções SQL incorporadas e convertê-las como parte de um projeto de conversão de esquema de banco de dados. Para obter mais informações, consulte [Usando o Microsoft SQL Server como fonte AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.SQLServer.html) na AWS documentação. 

## AWS DMS


[AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/) migra seus dados de forma rápida e segura para o. AWS Durante a migração, o banco de dados de origem permanece totalmente operacional, minimizando o tempo de inatividade do aplicativo. AWS DMS oferece suporte a migrações homogêneas, como a migração de dados de um banco de dados do SQL Server para outro. Ele também oferece suporte a migrações heterogêneas entre diferentes plataformas de banco de dados, como migrar seu banco de dados do SQL Server para um banco de dados de código aberto ou para um banco de dados nativo da nuvem. AWS AWS DMS gerencia as complexidades do processo de migração, incluindo a replicação automática das alterações de dados que ocorrem no banco de dados de origem para o banco de dados de destino. Quando a migração do banco de dados estiver concluída, o banco de dados de destino permanece sincronizado com o de origem pelo tempo que você especificar, o que permite que você alterne o banco de dados em um momento conveniente. Para obter mais informações, consulte [Usando um banco de dados do Microsoft SQL Server como fonte AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html) na AWS documentação.

## Babelfish


O Babelfish é um recurso integrado do Amazon Aurora. O Babelfish para Aurora PostgreSQL permite que seus bancos de dados da edição compatível com o Aurora PostgreSQL entendam comandos de aplicativos que foram escritos para o Microsoft SQL Server. Modificar aplicativos do SQL Server que têm código de banco de dados SQL Server escrito em Transact-SQL (T-SQL), o dialeto SQL proprietário do SQL Server, exige esforço e é demorado. O [Babelfish para Aurora PostgreSQL](https://aws.amazon.com/rds/aurora/babelfish/) torna esse processo cada vez mais simples e fácil. Usando o Babelfish, você não precisa fazer nenhuma alteração no código da aplicação. É possível usar o Babelfish para Aurora PostgreSQL para migrar um banco de dados do SQL Server para um cluster de bancos de dados do Amazon Aurora PostgreSQL.

Com o Babelfish, o Aurora PostgreSQL entende o T-SQL e oferece suporte ao mesmo protocolo de comunicação, para que você não precise trocar os drivers do banco de dados ou reescrever suas consultas de aplicativos. Seus aplicativos que foram originalmente escritos para o SQL Server agora podem funcionar com o Aurora com menos alterações no código. Isso reduz o esforço necessário para modificar e mover aplicativos executados no SQL Server ou em versões mais recentes do Aurora, resultando em migrações mais rápidas, de menor risco e mais econômicas.

Se você estiver migrando de bancos de dados SQL Server legados, poderá usar o Babelfish para executar o código do SQL Server lado a lado com a nova funcionalidade criada usando o PostgreSQL nativo. APIs O Babelfish permite que o Aurora PostgreSQL funcione com ferramentas, comandos e drivers comumente usados do SQL Server.

O Babelfish também fornece acesso aos dados usando a conexão nativa do PostgreSQL. Por padrão, os dois dialetos SQL compatíveis com o Babelfish estão disponíveis por meio de seus protocolos nativos nas seguintes portas:
+ Dialeto do SQL Server (T-SQL), os clientes conectam-se à porta 1433.
+ Dialeto PostgreSQL (PL/pgSQL), os clientes conectam-se à porta 5432.

O Babelfish permite que seus aplicativos SQL Server legados se comuniquem com o Aurora sem grandes regravações de código, fornecendo conexões da porta SQL Server ou PostgreSQL. O diagrama a seguir ilustra esse cenário

![\[Comunicações entre Babelfish e Aurora\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/migration-sql-server/images/babelfish.png)


Você pode habilitar o Babelfish no cluster do Aurora a partir do Console de gerenciamento do Amazon RDS. Para obter instruções, consulte [Criar um cluster de banco de dados Babelfish para Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/babelfish-create.html) na documentação do Amazon RDS.

Para obter mais informações sobre migração, consulte [Migrar um banco de dados SQL Server para o Babelfish para Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/babelfish-migration.html) na documentação do Aurora.

Para obter mais informações, consulte os recursos a seguir: 
+ [Comece a usar o Babelfish para Aurora PostgreSQL](https://aws.amazon.com/blogs/database/get-started-with-babelfish-for-aurora-postgresql/) (blog de banco de dados)AWS 
+ [Migre do SQL Server para o Amazon Aurora usando](https://aws.amazon.com/blogs/database/migrate-from-sql-server-to-amazon-aurora-using-babelfish/) o AWS Babelfish (blog de banco de dados)
+ [Migre do SQL Server para o Aurora PostgreSQL usando SSIS e Babelfish (blog](https://aws.amazon.com/blogs/database/migrate-from-sql-server-to-aurora-postgresql-using-ssis-and-babelfish/) do banco de dados)AWS 
+ [Modifique pacotes SSIS do SQL Server para o Babelfish para Aurora PostgreSQL](https://aws.amazon.com/blogs/database/modify-ssis-packages-from-sql-server-to-babelfish-for-aurora-postgresql/) (blog do banco de dados)AWS 
+ [Executar relatórios do SQL Server Reporting Services no Babelfish para Aurora PostgreSQL](https://aws.amazon.com/blogs/database/run-sql-server-reporting-services-reports-against-babelfish-for-aurora-postgresql/) (Blog do banco de dados AWS )
+ [Prepare-se para a migração do Babelfish com o relatório de AWS SCT avaliação](https://aws.amazon.com/blogs/database/prepare-for-babelfish-migration-with-the-aws-sct-assessment-report/) (blog do AWS banco de dados)