Salta al contenuto

Come posso eseguire la migrazione di database da istanze Amazon EC2 o macchine virtuali (VM) on-premises ad Amazon RDS per SQL Server?

5 minuti di lettura
0

Desidero eseguire la migrazione di database da un'istanza Amazon Elastic Compute Cloud (Amazon EC2) o da un'istanza Microsoft SQL Server on-premises alla mia istanza Amazon Relational Database Service (Amazon RDS) per Microsoft SQL Server.

Risoluzione

Metodi per la migrazione di dati

Backup e ripristino nativi di SQL Server

Per migrare un database SQL Server da un'istanza on-premises o Amazon EC2 a un'istanza Amazon RDS per SQL Server, puoi utilizzare il backup e il ripristino nativi. A tale scopo, completa i seguenti passaggi:

  1. Crea un bucket Amazon Simple Storage Service (Amazon S3) per archiviare il backup dall'istanza di origine. Il bucket Amazon S3 deve trovarsi nella stessa Regione AWS dell'istanza Amazon RDS.

  2. Crea il ruolo AWS Identity and Access Management (AWS IAM) per accedere al bucket.

  3. Aggiungi l'opzione SQLSERVER_BACKUP_RESTORE al gruppo di opzioni associato all'istanza Amazon RDS per SQL Server.

  4. Crea un backup dall'istanza di origine (on-premises o Amazon EC2), quindi copialo nel bucket Amazon S3 creato nel passaggio 1.

  5. Esegui questo script per ripristinare il backup nell'istanza Amazon RDS per SQL Server:

    exec msdb.dbo.rds_restore_database  
    @restore_db_name='database_name',   
    @s3_arn_to_restore_from='arn:aws:s3:::bucket_name file_name_and_extension';
  6. Esegui questo per eseguire il backup del database dell'istanza Amazon RDS su S3:

    exec msdb.dbo.rds_backup_database  
    @source_db_name='database_name',  
    @s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension',   
    @overwrite_S3_backup_file=1;

    Nota: puoi anche eseguire il backup e ripristinare backup differenziali.

AWS Database Migration Service (AWS DMS)

Completa i seguenti passaggi:

  1. Verifica i prerequisiti e le limitazioni dell'utilizzo di SQL Server come origine o destinazione per AWS DMS.
  2. Crea un'istanza di replica AWS DMS.
  3. Utilizza AWS DMS per creare endpoint di origine e di destinazione.
  4. Crea un'attività di migrazione.

Replica transazionale

Puoi configurare una replica transazionale dalle istanze SQL Server on-premises o EC2 a un'istanza Amazon RDS per SQL Server. Tuttavia, puoi solo rendere l'istanza Amazon RDS per SQL Server un abbonato. Inoltre, puoi solo rendere l'istanza SQL Server on-premises o EC2 l'editore o il distributore con abbonamento push.

Per configurare una replica transazionale da un'istanza SQL Server on-premises o Amazon EC2, consulta le seguenti istruzioni:

File del pacchetto di backup (.bacpac)

Il file .bacpac è costituito da metadati copiati e dati compressi in un file. È consigliabile utilizzare un file .bacpack per database di circa 200 GB. Puoi utilizzare l'esportazione/importazione o l'utilità SQLPackage.exe (riga di comando) per creare un file .bacpac. Per ulteriori informazioni sul file .bacpac, consulta Migrate SQL Server databases from an Azure SQL database to Amazon RDS for SQL Server using bacpac method (Migrazione di database SQL Server da un database Azure SQL ad Amazon RDS per SQL Server utilizzando il metodo bacpac).

Metodi per l'importazione di dati

Procedura guidata di generazione e pubblicazione di script

Se il database è inferiore a 1 GB, puoi utilizzare la procedura guidata di generazione e pubblicazione di script. Per i database più grandi, puoi utilizzare l’utilità di copia in blocco Bulk Copy Program o la procedura guidata di importazione ed esportazione per creare script sullo schema del database. Per ulteriori informazioni sulla procedura guidata di generazione e pubblicazione di script, consultare Procedura: generazione di uno script (SQL Server Management Studio) nella documentazione di Microsoft SQL Server.

Nota: assicurati di selezionare Save scripts to specific location (Salva script in una posizione specifica), Advanced (Avanzate) nella pagina Set Scripting Option (Imposta opzione di scripting). L'impostazione Advanced (Avanzate) fornisce opzioni aggiuntive per includere o escludere oggetti della tabella durante l'importazione e l'esportazione.

Procedura guidata di importazione ed esportazione

La procedura guidata di importazione ed esportazione crea un pacchetto di integrazione. Il pacchetto di integrazione viene utilizzato per copiare dati dal database SQL Server on-premises o Amazon EC2 nell'istanza Amazon RDS per SQL Server. Puoi filtrare le tabelle specifiche che desideri copiare nell'istanza Amazon RDS.

Per ulteriori dettagli sulla procedura guidata di importazione ed esportazione, consulta Procedura: esecuzione dell'importazione/esportazione guidata SQL Server nella documentazione di Microsoft SQL Server.

Nota: quando esegui la procedura guidata di importazione ed esportazione, assicurati di scegliere le seguenti opzioni per l'istanza Amazon RDS per SQL Server di destinazione:

  • In Server Name (Nome server), inserisci il nome dell'endpoint per l'istanza database Amazon RDS.
  • Per Authentication mode (Modalità autenticazione), scegli SQL Server Authentication (Autenticazione SQL Server).
  • In Username (Nome utente) e Password, inserisci l'utente principale che hai creato nell'istanza Amazon RDS.

Utilità di copia in blocco Bulk Copy Program

Bulk Copy Program (bcp) è un'utilità a riga di comando utilizzata per copiare in blocco i dati tra istanze SQL Server. Puoi utilizzare l'utilità bcp per importare grandi set di dati in un'istanza SQL Server o esportarli in un file.

Di seguito sono riportati alcuni esempi dei comandi IN e OUT:

OUT: Utilizza questo comando per esportare o scaricare i record da una tabella in un file:

bcp dbname.schema_name.table_name out C:\table_name.txt -n -S localhost -U username -P     password -b 10000

Il codice precedente include le seguenti opzioni:

  • -n: specifica che la copia in blocco utilizza i tipi di dati nativi dei dati da copiare.
  • -S: specifica l'istanza SQL Server a cui si connette l'utilità bcp.
  • -U: specifica il nome utente dell'account AWS per accedere all'istanza SQL Server.
  • -P: specifica la password dell'utente specificato da -U.
  • -b: specifica il numero di righe per batch di dati importati.

IN: Utilizza questo comando per importare tutti i record dal file di dump nella tabella esistente. Devi creare la tabella prima di eseguire il comando bcp.

bcp dbname.schema_name.table_name in C:\table_name.txt -n -S endpoint,port -U master_user_name -P master_user_password -b 10000

Per ulteriori informazioni, consulta bcp utility (Utilità bcp) nella documentazione di Microsoft SQL Server.