

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Migrazione di database eterogenei per SQL Server
<a name="heterogeneous-migration"></a>

Grazie alle innovazioni e ai miglioramenti apportati ai database open source e alle piattaforme di cloud computing AWS, molte organizzazioni stanno passando da motori di database proprietari (elaborazione delle transazioni online o OLTP) come SQL Server a motori open source. I database SQL Server sono sistemi cruciali per qualsiasi organizzazione, ma essere vincolati a un particolare fornitore è una situazione rischiosa e costosa. I bassi costi operativi e l'assenza di costi di licenza sono motivi convincenti per prendere in considerazione la possibilità di passare dalla tecnologia di database sottostante a database open source o nativi del cloud. AWS 

Altri motivi per la migrazione da SQL Server sono i periodi di vincolo al fornitore, i controlli delle licenze, le licenze costose e i costi. Per questo motivo, molte organizzazioni scelgono di migrare i propri database SQL Server su database open source (come PostgreSQL, MySQL o MariaDB) o database AWS nativi del cloud (come Amazon Aurora o Amazon DynamoDB) quando migrano verso. AWS

Puoi anche migrare il tuo database di data warehouse SQL Server su Amazon Redshift, un data warehouse cloud veloce e completamente gestito. Amazon Redshift è integrato con il tuo data lake, offre prestazioni fino a tre volte più veloci di qualsiasi altro data warehouse e costa fino al 75% in meno rispetto a qualsiasi altro data warehouse cloud. Per ulteriori informazioni, consulta lo schema [Migrare un database Microsoft SQL Server locale su Amazon Redshift AWS DMS utilizzando il](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms.html) sito Web Prescriptive Guidance AWS .

Per migrare a un database open source o AWS nativo del cloud, scegli il database giusto in base al tipo di dati che hai, al modello di accesso, alla scalabilità, alla praticità dell'applicazione e alla complessità. La migrazione da SQL Server a PostgreSQL e ad altri database open source è stata spesso difficile e richiede un'attenta valutazione, pianificazione e test.

Questo processo diventa più semplice con servizi come AWS Database Migration Service (AWS DMS) e AWS Schema Conversion Tool (AWS SCT), che consentono di migrare il database commerciale verso un database open source con tempi di inattività minimi. AWS 

Nelle migrazioni di database eterogenei, i motori dei database di origine e di destinazione sono diversi, come nelle migrazioni da SQL Server ad Aurora o da SQL Server a MariaDB. La struttura dello schema, i tipi di dati e il codice del database nei database di origine e di destinazione possono essere molto diversi, quindi lo schema e il codice devono essere trasformati prima che inizi la migrazione dei dati. Per questo motivo, la migrazione eterogenea è un processo in due fasi: 
+ Passaggio 1. Converte lo schema e il codice di origine in modo che corrispondano a quelli del database di destinazione. Puoi usare AWS SCT per questa conversione.
+ Passaggio 2. Migra i dati dal database di origine al database di destinazione. È possibile utilizzare AWS DMS per questo processo.

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

AWS DMS gestisce automaticamente le principali conversioni dei tipi di dati durante la migrazione. Il database di origine può trovarsi all'esterno della tua sede AWS, può essere un database in esecuzione su un'istanza EC2 o può essere un database Amazon RDS (vedi [Sources for Data Migration](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html) nella AWS DMS documentazione). La destinazione può essere un database in Amazon EC2, Amazon RDS o Aurora. Per informazioni sull'utilizzo di MySQL come database di destinazione, [vedere Migrazione di un database SQL Server a un motore di database compatibile con MySQL](https://aws.amazon.com/blogs/database/migrating-a-sql-server-database-to-a-mysql-compatible-database-engine/) nel blog Database. AWS 

# Strumenti per migrazioni di database eterogenei
<a name="heterogeneous-migration-tools"></a>

La tabella seguente fornisce un elenco di strumenti che è possibile utilizzare per migrare da SQL Server a un altro motore di database.


****  

| Strumento di migrazione | Supporto per database Target | Usato per | 
| --- | --- | --- | 
| [AWS SCT](#aws-sct) |  Amazon RDS per MySQL Amazon RDS per PostgreSQL Amazon Aurora MySQL Amazon Aurora PostgreSQL  | Conversione dello schema | 
| [AWS DMS](#aws-dms) |  Amazon RDS per MySQL Amazon RDS per PostgreSQL Amazon Aurora MySQL Amazon Aurora PostgreSQL  | Migrazione dei dati | 
| [Babelfish](#babelfish) |  Amazon Aurora PostgreSQL  | Accesso e migrazione dei dati | 

Le seguenti sottosezioni forniscono ulteriori informazioni su ogni strumento.

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

[AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) converte gli schemi di database commerciali esistenti in un motore open source o in un database nativo per il cloud. AWS AWS SCT rende prevedibili le migrazioni eterogenee dei database convertendo automaticamente lo schema del database di origine e la maggior parte degli oggetti del codice del database, incluse viste, stored procedure e funzioni, in un formato compatibile con il database di destinazione. 

Quando si converte lo schema del database da un motore a un altro, è inoltre necessario aggiornare il codice SQL nelle applicazioni per interagire con il nuovo motore di database anziché con quello precedente. AWS SCT converte anche il codice SQL in C\$1\$1, C\$1, Java o altro codice applicativo. Tutti gli oggetti che non possono essere convertiti automaticamente sono chiaramente contrassegnati per la conversione manuale. AWS SCT può anche scansionare il codice sorgente dell'applicazione alla ricerca di istruzioni SQL incorporate e convertirle come parte di un progetto di conversione dello schema del database. Per ulteriori informazioni, vedere [Utilizzo di Microsoft SQL Server come fonte AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.SQLServer.html) nella AWS documentazione. 

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

[AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/) migra i dati in modo rapido e sicuro verso. AWS Durante la migrazione, il database di origine rimane completamente operativo, riducendo al minimo i tempi di inattività delle applicazioni. AWS DMS supporta migrazioni omogenee come la migrazione dei dati da un database SQL Server a un altro. Supporta anche migrazioni eterogenee tra diverse piattaforme di database, come la migrazione del database SQL Server a un database open source o a un database nativo del cloud. AWS AWS DMS gestisce le complessità del processo di migrazione, inclusa la replica automatica delle modifiche ai dati che si verificano nel database di origine nel database di destinazione. Una volta completata la migrazione del database, il database di destinazione rimane sincronizzato con il database di origine per tutto il tempo desiderato ed è possibile passare al database di destinazione in un momento opportuno. Per ulteriori informazioni, vedere [Utilizzo di un database Microsoft SQL Server come fonte AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html) nella AWS documentazione.

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

Babelfish è una funzionalità integrata di Amazon Aurora. Babelfish for Aurora PostgreSQL consente ai database Aurora PostgreSQL Edition compatibili con PostgreSQL di comprendere i comandi delle applicazioni scritte per Microsoft SQL Server. La modifica delle applicazioni SQL Server con codice di database SQL Server scritto in Transact-SQL (T-SQL), il dialetto SQL proprietario di SQL Server, richiede impegno e tempo. [Babelfish for Aurora PostgreSQL rende](https://aws.amazon.com/rds/aurora/babelfish/) questo processo sempre più semplice. Utilizzando Babelfish, non è necessario apportare modifiche al codice dell'applicazione. Invece, puoi usare Babelfish for Aurora PostgreSQL per migrare un database SQL Server su un cluster DB compatibile con Aurora PostgreSQL.

Con Babelfish, Aurora PostgreSQL comprende T-SQL e supporta lo stesso protocollo di comunicazione, quindi non è necessario cambiare driver di database o riscrivere le query delle applicazioni. Le applicazioni originariamente scritte per SQL Server ora possono funzionare con Aurora con meno modifiche al codice. Ciò riduce lo sforzo richiesto per modificare e spostare le applicazioni in esecuzione su SQL Server o versioni più recenti su Aurora, portando a migrazioni più veloci, a basso rischio e più convenienti.

Se stai migrando da database SQL Server legacy, puoi usare Babelfish per eseguire il codice di SQL Server parallelamente alle nuove funzionalità create utilizzando PostgreSQL nativo. APIs Babelfish consente ad Aurora PostgreSQL di funzionare con strumenti, comandi e driver di SQL Server di uso comune.

Babelfish fornisce anche l'accesso ai dati utilizzando la connessione PostgreSQL nativa. Per impostazione predefinita, entrambi i dialetti SQL supportati da Babelfish sono disponibili tramite i protocolli wire nativi presso le seguenti porte:
+ Per il dialetto di SQL Server (T-SQL), connettiti alla porta 1433.
+ Per il dialetto PostgreSQL (PL/pgSQL), connettiti alla porta 5432.

Babelfish consente alle applicazioni SQL Server legacy di comunicare con Aurora senza riscritture estese del codice, fornendo connessioni dalla porta SQL Server o PostgreSQL. Il diagramma seguente illustra tale architettura.

![\[Comunicazioni tra Babelfish e Aurora\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/migration-sql-server/images/babelfish.png)


Puoi abilitare Babelfish sul tuo cluster Aurora dalla console di gestione Amazon RDS. Per istruzioni, consulta [Creazione di un cluster DB Babelfish per Aurora PostgreSQL nella documentazione di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/babelfish-create.html).

Per ulteriori informazioni sulla migrazione, vedere [Migrazione di un database SQL Server a Babelfish per Aurora PostgreSQL nella documentazione di Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/babelfish-migration.html).

Per ulteriori informazioni, consulta le seguenti risorse: 
+ [Inizia a usare Babelfish per Aurora PostgreSQL](https://aws.amazon.com/blogs/database/get-started-with-babelfish-for-aurora-postgresql/) (blog Database)AWS 
+ Esegui la [migrazione da SQL Server ad Amazon Aurora utilizzando](https://aws.amazon.com/blogs/database/migrate-from-sql-server-to-amazon-aurora-using-babelfish/)AWS Babelfish (blog Database)
+ Esegui la [migrazione da SQL Server ad Aurora PostgreSQL utilizzando SSIS e Babelfish (blog Database](https://aws.amazon.com/blogs/database/migrate-from-sql-server-to-aurora-postgresql-using-ssis-and-babelfish/))AWS 
+ [Modifica i pacchetti SSIS da SQL Server a Babelfish per Aurora PostgreSQL](https://aws.amazon.com/blogs/database/modify-ssis-packages-from-sql-server-to-babelfish-for-aurora-postgresql/) (blog Database)AWS 
+ [Esegui report di SQL Server Reporting Services su Babelfish per Aurora PostgreSQL](https://aws.amazon.com/blogs/database/run-sql-server-reporting-services-reports-against-babelfish-for-aurora-postgresql/) (blog Database)AWS 
+ [Preparati alla migrazione di Babelfish](https://aws.amazon.com/blogs/database/prepare-for-babelfish-migration-with-the-aws-sct-assessment-report/) con il rapporto di valutazione (blog Database) AWS SCT AWS 