Migrazione di un database SQL Server a Babelfish per Aurora PostgreSQL - Amazon Aurora

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 un database SQL Server a Babelfish per Aurora PostgreSQL

Puoi utilizzare Babelfish per Aurora PostgreSQL per eseguire la migrazione di un database SQL Server a un cluster database Amazon Aurora PostgreSQL. Prima di eseguire la migrazione, consulta Utilizzo di Babelfish con un singolo database o più database.

Panoramica del processo di migrazione

Il seguente riepilogo elenca i passaggi necessari migrare l'applicazione SQL Server e farla funzionare con Babelfish. Per informazioni sugli strumenti che puoi utilizzare per i processi di esportazione e importazione e per ulteriori dettagli, consulta Strumenti di importazione/esportazione per la migrazione da SQL Server a Babelfish.

  1. Crea un nuovo cluster database Aurora PostgreSQL con Babelfish attivato. Per scoprire come, consulta Creazione di un cluster database Babelfish per Aurora PostgreSQL.

    Per importare i vari artefatti SQL esportati dal database SQL Server, esegui la connessione al cluster Babelfish utilizzando uno strumento SQL Server, ad esempio sqlcmd. Per ulteriori informazioni, consulta Utilizzo di un client SQL Server per la connessione al cluster database.

  2. Nel database SQL Server che desideri migrare, esporta Data Definition Language (DDL). Il DDL è un codice SQL che descrive gli oggetti di database che contengono dati utente (ad esempio tabelle, indici e viste) e il codice di database scritto dall'utente (come procedure memorizzate, funzioni definite dall'utente e trigger).

    Per ulteriori informazioni, consulta Utilizzo di SQL Server Management Studio (SSMS) per eseguire la migrazione a Babelfish.

  3. Esegui uno strumento di valutazione per valutare l'ambito di eventuali modifiche che potrebbe essere necessario apportare per consentire a Babelfish di supportare efficacemente l'applicazione in esecuzione su SQL Server. Per ulteriori informazioni, consulta Valutazione e gestione delle differenze tra SQL Server e Babelfish.

  4. Per caricare i dati, consigliamo di utilizzare AWS DMS con Babelfish o Aurora PostgreSQL come endpoint di destinazione a seconda dei requisiti di migrazione. Assicurati di modificare le colonne con i tipi di dati Babelfish consigliati. Per farlo, consulta Prerequisiti per usare Babelfish come bersaglio per AWS DMS.

  5. Sul nuovo cluster database Babelfish, esegui il DDL nel database T-SQL specificato per creare solo gli schemi, i tipi di dati definiti dall'utente e le tabelle con i vincoli della chiave primaria.

  6. Utilizza AWS DMS per migrare i tuoi dati da SQL Server alle tabelle Babelfish. Per la replica continua con SQL Server Change Data Capture o Replica di SQL, usa Aurora PostgreSQL anziché Babelfish come endpoint. Per farlo, vedi Utilizzo di Babelfish per Aurora PostgreSQL come obiettivo per AWS Database Migration Service.

  7. Al termine del caricamento dei dati, crea tutti gli oggetti T-SQL rimanenti che supportano l'applicazione sul cluster Babelfish.

  8. Riconfigura l'applicazione client per connettersi all'endpoint Babelfish anziché al database SQL Server. Per ulteriori informazioni, consulta Connessione a un cluster database Babelfish.

  9. Modifica l'applicazione come richiesto e ripeti il test. Per ulteriori informazioni, consulta Differenze tra Babelfish per Aurora PostgreSQL e SQL Server.

Devi comunque valutare le query SQL sul lato client. Gli schemi generati dall'istanza di SQL Server convertono solo il codice SQL sul lato server. Si consiglia di effettuare la procedura seguente:

  • Acquisisci le query sul lato client utilizzando SQL Server Profiler con il modello predefinito TSQL_Replay. Questo modello acquisisce le informazioni sull'istruzione T-SQL che possono essere riprodotte per l'ottimizzazione e il test iterativo. Puoi avviare il profiler dal menu Tools (Strumenti) di SQL Server Management Studio. Scegli SQL Server Profiler per aprire il profiler e selezionare il modello TSQL_Replay.

    Da utilizzare per la migrazione di Babelfish, avvia una traccia e quindi esegui l'applicazione utilizzando i test funzionali. Il profiler acquisisce le istruzioni T-SQL. Al termine del test, interrompi la traccia. Salva il risultato in un file XML con le query sul lato client (File > Save as > Trace XML File for Replay) (File > Salva con nome > Traccia file XML per la ripetizione).

    Per ulteriori informazioni, consulta SQL Server Profiler nella documentazione di Microsoft. Per ulteriori informazioni sul modello TSQL_Replay, consulta SQL Server Profiler Templates (Modelli di SQL Server Profiler).

  • Per applicazioni con query SQL complesse sul lato client, si consiglia di utilizzare Babelfish Compass per analizzarle per la compatibilità delle query con Babelfish. Se l'analisi indica che le istruzioni SQL lato client contengono funzionalità SQL non supportate, esamina gli aspetti SQL nell'applicazione client e modifica in base alle esigenze.

  • È inoltre possibile acquisire le query SQL come eventi estesi (formato .xel). A tale scopo, utilizza il profiler XEvent di SSMS. Dopo aver generato il file .xel, estrai le istruzioni SQL nei file .xml che Compass può elaborare. Per ulteriori informazioni, consulta Use the SSMS XEvent Profler (Uso del profiler XEvent di SQL Server Management Studio) nella documentazione di Microsoft.

Se sei soddisfatto di tutti i test, dell'analisi e delle eventuali modifiche necessarie all'applicazione migrata, puoi iniziare a utilizzare il database Babelfish in produzione. A questo scopo, interrompi il database originale e reindirizza le applicazioni client live per utilizzare la porta Babelfish TDS.

Valutazione e gestione delle differenze tra SQL Server e Babelfish

Per risultati ottimali, si consiglia di valutare il DDL/DML generato e il codice delle query client prima di migrare effettivamente l'applicazione di database SQL Server a Babelfish. A seconda della versione di Babelfish e delle funzionalità specifiche di SQL Server implementate dall'applicazione, potrebbe essere necessario rifattorizzare l'applicazione o utilizzare alternative per funzionalità che non sono ancora completamente supportate in Babelfish.

  • Per valutare il codice dell'applicazione SQL Server, utilizza Babelfish Compass sul DDL generato per determinare fino a che punto il codice T-SQL è supportato da Babelfish. Identifica il codice T-SQL che potrebbe richiedere modifiche prima di essere eseguito su Babelfish. Per ulteriori informazioni su questo strumento, vedere lo strumento Babelfish Compass su. GitHub

    Nota

    Babelfish Compass è uno strumento open source. Segnala eventuali problemi con Babelfish Compass tramite Support GitHub anziché tramite Support. AWS

È possibile utilizzare la procedura guidata Generate Scripts (Genera script) con SQL Server Management Studio (SSMS) per generare il file SQL valutato da Babelfish Compass o dall'interfaccia della linea di comando AWS Schema Conversion Tool. Consigliamo di effettuare i seguenti passaggi per semplificare la valutazione.

  1. Nella pagina Choose Objects (Scegli oggetti), scegli Script entire database and all database objects (Script per l'intero database e tutti gli oggetti del database).

    
							Utilizzo della procedura guidata Generate Scripts (Genera script) di SSMS per scegliere gli oggetti.
  2. Per Set Scripting Options (Imposta le opzioni di script), scegli Save as script file (Salva come file script) come Single script file (File script singolo).

    
							Utilizzo della procedura guidata Generate Scripts (Genera script) di SSMS per impostare le opzioni di script.
  3. Scegli Advanced (Avanzato) per modificare le opzioni di script predefinite e identificare le funzionalità che normalmente sono impostate su false per una valutazione completa:

    • Script Change Tracking (Monitoraggio delle modifiche allo script) su True

    • Script Full-Text Indexes (Indici di testo completo dello script) su True

    • Script Triggers (Trigger script) su True

    • Script Logins (Accessi di script) su True

    • Script Owner (Proprietario script) su True

    • Script Object-Level Permissions (Autorizzazioni a livello di oggetto script) su True

    • Script Collations (Regole di confronto script) su True

    
							Utilizzo della procedura guidata Generate Scripts (Genera script) di SSMS per impostare le opzioni di script avanzate.
  4. Segui i restanti passaggi della procedura guidata per generare il file.

Strumenti di importazione/esportazione per la migrazione da SQL Server a Babelfish

Si consiglia di utilizzare AWS DMS come strumento principale per la migrazione da SQL Server a Babelfish. Tuttavia, Babelfish supporta diversi altri modi per la migrazione dei dati con gli strumenti SQL Server, tra cui i seguenti.

  • SQL Server Integration Services (SSIS) per tutte le versioni di Babelfish. Per ulteriori informazioni, consulta Migrate from SQL Server to Aurora PostgreSQL using SSIS and Babelfish (Migrazione da SQL Server ad Aurora PostgreSQL utilizzando SSIS e Babelfish).

  • Utilizza la procedura guidata di importazione/esportazione di SSMS per Babelfish 2.1.0 e versioni successive. Questo strumento è disponibile tramite SSMS, ma anche come strumento autonomo. Per ulteriori informazioni, consulta Welcome to SQL Server Import and Export Wizard nella documentazione di Microsoft.

  • Questa utilità Bulk Data Copy Program (bcp) di Microsoft consente di copiare i dati da un'istanza Microsoft SQL Server in un file di dati nel formato specificato. Per ulteriori informazioni, consulta bpc Utility nella documentazione di Microsoft. Babelfish ora supporta la migrazione dei dati utilizzando il client BCP e l'utilità bcp ora supporta il flag -E (per le colonne di identità) e il flag -b (per gli inserimenti in batch). Alcune opzioni bcp non sono supportate, incluse -C, -T, -G, -K, -R, -V e -h.

Utilizzo di SQL Server Management Studio (SSMS) per eseguire la migrazione a Babelfish

Si consiglia di generare file separati per ciascun tipo di oggetto specifico. È possibile utilizzare prima la procedura guidata Generate Scripts (Genera script) di SSMS per ogni set di istruzioni DDL e quindi modificare gli oggetti come gruppo per risolvere eventuali problemi riscontrati durante la valutazione.

Esegui questi passaggi per migrare i dati utilizzando AWS DMS o altri metodi di migrazione dei dati. Esegui prima questi tipi di script di creazione per un approccio migliore e più veloce per caricare i dati nelle tabelle Babelfish in Aurora PostgreSQL.

  1. Esegui le istruzioni CREATE SCHEMA.

  2. Esegui le istruzioni CREATE TYPE per creare i tipi di dati definiti dall'utente.

  3. Esegui le istruzioni CREATE TABLE di base con le chiavi primarie o i vincoli univoci.

Esegui il caricamento dei dati utilizzando lo strumento di importazione/esportazione consigliato. Esegui gli script modificati per i passaggi seguenti in modo da aggiungere gli oggetti del database rimanenti. Sono necessarie le istruzioni create table per eseguire questi script per i vincoli, i trigger e gli indici. Dopo la generazione degli script, elimina le istruzioni create table.

  1. Esegui le istruzioni ALTER TABLE per i vincoli di controllo, i vincoli di chiave esterna, i vincoli predefiniti.

  2. Esegui le istruzioni CREATE TRIGGER.

  3. Esegui le istruzioni CREATE INDEX.

  4. Esegui le istruzioni CREATE VIEW.

  5. Esegui le istruzioni CREATE STORED PROCEDURE.

Per generare gli script per ogni tipo di oggetto

Utilizza i seguenti passaggi per creare le istruzioni di base per la creazione di tabelle utilizzando la procedura guidata Generate Scripts (Genera script) di SSMS. Segui la stessa procedura per generare gli script per i diversi tipi di oggetto.

  1. Eseguire la connessione all'istanza SQL Server esistente.

  2. Apri il menu contestuale (tasto destro del mouse) per il nome di un database.

  3. Scegli Tasks (Attività), quindi seleziona Generate Scripts... (Genera script...).

  4. Nel riquadro Choose Objects (Scegli oggetti), seleziona Select specific database objects (Seleziona oggetti di database specifici). Scegli Tables (Tabelle), seleziona tutte le tabelle. Seleziona Successivo per continuare.

    
								Utilizzo della procedura guidata Generate Scripts (Genera script) di SSMS per scegliere oggetti e tabelle.
  5. Nella pagina Set Scripting Options (Imposta opzioni di scripting), scegli Advanced (Avanzato) per aprire le impostazioni Options (Opzioni). Per generare le istruzioni di base create table, modifica i seguenti valori predefiniti:

    • Script Defaults (Valori predefiniti script) su False.

    • Script Extended Properties (Proprietà estese script) su False. Babelfish non supporta le proprietà estese.

    • Script Check Constraints (Vincoli di controllo script) su False. Script Foreign Keys (Chiavi esterne script) su False.

    
								Utilizzo della procedura guidata Generate Scripts (Genera script) di SSMS per impostare le opzioni avanzate.
  6. Scegli OK.

  7. Nella pagina Set Scripting Options (Imposta le opzioni di script), scegli Save as script file (Salva come file script), quindi seleziona l'opzione Single script file (File script singolo). Immetti un valore nel campo File name (Nome file).

    
								Utilizzo della procedura guidata Generate Scripts (Genera script) di SSMS per impostare i valori predefiniti dello script.
  8. Scegli Next (Successivo) per visualizzare la pagina Summary wizard (Procedura guidata di riepilogo).

  9. Scegli Next (Successivo) per avviare la generazione dello script.

    È possibile continuare a generare script per gli altri tipi di oggetti nella procedura guidata. Anziché scegliere Finish (Fine) dopo il salvataggio del file, seleziona il pulsante Previous (Precedente) per tre volte per tornare alla pagina Choose Objects (Scegli oggetti). Ripetete quindi i passaggi della procedura guidata per generare script per gli altri tipi di oggetti.