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

Puoi usare Babelfish for Aurora Postgre SQL per migrare un database SQL Server in un cluster Amazon Aurora Postgre DB. SQL 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 per migrare correttamente l'applicazione Server e farla funzionare con Babelfish. SQL 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 Server a Babelfish SQL. Per caricare i dati, consigliamo di utilizzare AWS DMS con un cluster Aurora Postgre SQL DB come endpoint di destinazione.

  1. Crea un nuovo cluster Aurora Postgre SQL DB con Babelfish attivato. Per scoprire come, consulta Creazione di un cluster Babelfish per Aurora Postgre DB SQL.

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

  2. Sul database SQL Server che desideri migrare, esporta il linguaggio di definizione dei dati (). DDL DDLÈ un SQL codice che descrive gli oggetti del database che contengono dati utente (come tabelle, indici e viste) e il codice del database scritto dall'utente (come le stored procedure, le funzioni definite dall'utente e i trigger).

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

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

  4. Rivedi il AWS DMS individua le limitazioni degli endpoint e aggiorna lo DDL script se necessario. Per ulteriori informazioni, consulta Limitazioni all'utilizzo di un endpoint di SQL destinazione Postgre con le tabelle Babelfish in Uso di Babelfish per Aurora Postgre come target. SQL

  5. Sul tuo nuovo cluster Babelfish DB, esegui il file DDL all'interno del SQL database T specificato per creare solo gli schemi, i tipi di dati definiti dall'utente e le tabelle con i relativi vincoli di chiave principale.

  6. Utilizzo AWS DMS per migrare i dati dal Server alle tabelle Babelfish. SQL Per la replica continua con SQL Server Change Data Capture or SQL Replication, usa Aurora Postgre SQL anziché Babelfish come endpoint. Per farlo, vedi Usare Babelfish per Aurora SQL Postgre come obiettivo per AWS Database Migration Service.

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

  8. Riconfigura l'applicazione client per connetterti all'endpoint Babelfish anziché al database Server. SQL 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 tue domande sul lato client. SQL Gli schemi generati dall'istanza SQL Server convertono solo il codice lato server. SQL Si consiglia di effettuare la procedura seguente:

  • Acquisisci le query lato client utilizzando SQL Server Profiler con il modello predefinito _Replay. TSQL Questo modello acquisisce informazioni sull'SQListruzione T che è quindi possibile riprodurre per l'ottimizzazione e il test iterativi. È possibile avviare il profiler in SQL Server Management Studio dal menu Strumenti. Scegliete SQLServer Profiler per aprire il profiler e scegliete il TSQL modello _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 XML file con le tue query sul lato client (File > Salva con nome > Trace XML File for Replay).

    Per ulteriori informazioni, vedere SQLServer Profiler nella documentazione Microsoft. Per ulteriori informazioni sul modello TSQL _Replay, consulta SQLServer Profiler Templates.

  • Per le applicazioni con SQL query complesse sul lato client, si consiglia di utilizzare Babelfish Compass per analizzare queste query per verificarne la compatibilità con Babelfish. Se l'analisi indica che le SQL istruzioni lato client contengono SQL funzionalità non supportate, esaminate gli aspetti dell'applicazione client e modificatele secondo necessità. SQL

  • È inoltre possibile acquisire le SQL query come eventi estesi (formato.xel). A tale scopo, utilizzate il Profiler. SSMS XEvent Dopo aver generato il file.xel, estrai le SQL istruzioni in file.xml che Compass può quindi elaborare. Per ulteriori informazioni, consulta Use the SSMS XEvent Profler nella documentazione 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 tale scopo, interrompi il database originale e reindirizza le applicazioni client live per utilizzare la porta Babelfish. TDS

Nota

AWS DMS ora supporta la replica dei dati da Babelfish. Per ulteriori informazioni, consulta AWS DMS ora supporta Babelfish for Aurora SQL Postgre come sorgente.

Valutazione e gestione delle differenze tra Server e Babelfish SQL

Per ottenere risultati ottimali, ti consigliamo di valutare il codice di query generatoDDL/DMLe il codice di query del client prima di migrare effettivamente l'applicazione di database SQL Server su 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, utilizzate Babelfish Compass sul codice generato DDL per determinare la quantità di codice T supportata da Babelfish. SQL Identifica il SQL codice T che potrebbe richiedere modifiche prima di essere eseguito su Babelfish. Per ulteriori informazioni su questo strumento, consulta lo strumento Babelfish Compass su. GitHub

    Nota

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

È possibile utilizzare Generate Script Wizard con SQL Server Management Studio (SSMS) per generare il SQL file valutato da Babelfish Compass o AWS Schema Conversion Tool CLI. 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 SSMS Genera script 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 SSMS Generate script per impostare le opzioni di scripting.
  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 SSMS Generate script per impostare le opzioni di scripting avanzate.
  4. Segui i restanti passaggi della procedura guidata per generare il file.

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

Ti consigliamo di utilizzare AWS DMS come strumento principale per la migrazione da SQL Server a Babelfish. Tuttavia, Babelfish supporta diversi altri modi per migrare i dati utilizzando gli strumenti SQL Server che includono quanto segue.

  • SQLServer Integration Services (SSIS) per tutte le versioni di Babelfish. Per ulteriori informazioni, consulta Migrare dal SQL server ad Aurora SQL SSIS Postgre utilizzando Babelfish.

  • Usa l'SSMSImport/Export Wizard per le versioni 2.1.0 e successive di Babelfish. Questo strumento è disponibile tramiteSSMS, ma è disponibile anche come strumento autonomo. Per ulteriori informazioni, vedere Welcome to SQL Server Import and Export Wizard nella documentazione Microsoft.

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

Utilizzo di SQL Server Management Studio () per migrare a Babelfish SSMS

Si consiglia di generare file separati per ciascun tipo di oggetto specifico. È possibile utilizzare prima la procedura guidata Generate Scripts SSMS per ogni set di DDL istruzioni, quindi modificare gli oggetti come gruppo per risolvere eventuali problemi rilevati 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ù rapido al caricamento dei dati sulle tabelle Babelfish in Aurora Postgre. SQL

  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 in. SSMS Segui la stessa procedura per generare gli script per i diversi tipi di oggetto.

  1. Connect 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 SSMS Generate Scripts 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 SSMS Genera script 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 SSMS Genera script 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.