Conversione del SQL server in My SQL - AWS Schema Conversion Tool

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à.

Conversione del SQL server in My SQL

Per emulare le funzioni SQL del database di Microsoft Server nel SQL codice My convertito, usa il pacchetto di SQL estensione SQL Server to My in AWS SCT. Per ulteriori informazioni sui pacchetti di estensione, consulta Utilizzo dei pacchetti di estensione con AWS Schema Conversion Tool.

Privilegi per My SQL come database di destinazione

I privilegi richiesti per My SQL as a target sono i seguenti:

  • CREATESU* . *

  • ALTERSU * . *

  • DROPSU * . *

  • INDEXSU * . *

  • REFERENCESSU * . *

  • SELECTSU * . *

  • CREATEVIEWSU * . *

  • SHOWVIEWSU * . *

  • TRIGGERSU * . *

  • CREATEROUTINESU * . *

  • ALTERROUTINESU * . *

  • EXECUTESU * . *

  • INSERT, UPDATE SU AWS _ SQLSERVER _EXT. *

  • INSERTUPDATE, DELETE SU AWS _ SQLSERVER _ EXT _DATA. *

  • CREATETEMPORARYTABLESSU AWS _ SQLSERVER _ EXT _DATA. *

È possibile utilizzare il seguente esempio di codice per creare un utente del database e assegnare i privilegi.

CREATE USER 'user_name' IDENTIFIED BY 'your_password'; GRANT CREATE ON *.* TO 'user_name'; GRANT ALTER ON *.* TO 'user_name'; GRANT DROP ON *.* TO 'user_name'; GRANT INDEX ON *.* TO 'user_name'; GRANT REFERENCES ON *.* TO 'user_name'; GRANT SELECT ON *.* TO 'user_name'; GRANT CREATE VIEW ON *.* TO 'user_name'; GRANT SHOW VIEW ON *.* TO 'user_name'; GRANT TRIGGER ON *.* TO 'user_name'; GRANT CREATE ROUTINE ON *.* TO 'user_name'; GRANT ALTER ROUTINE ON *.* TO 'user_name'; GRANT EXECUTE ON *.* TO 'user_name'; GRANT INSERT, UPDATE ON AWS_SQLSERVER_EXT.* TO 'user_name'; GRANT INSERT, UPDATE, DELETE ON AWS_SQLSERVER_EXT_DATA.* TO 'user_name'; GRANT CREATE TEMPORARY TABLES ON AWS_SQLSERVER_EXT_DATA.* TO 'user_name';

Nell'esempio precedente, sostituire user_name con il nome del tuo utente. Quindi, sostituisci your_password con una password sicura.

Se utilizzi una versione 5.7 o precedente di My SQL database come destinazione, esegui il comando seguente. Per la versione 8.0 e successive di My SQL databases, questo comando è obsoleto.

GRANT SELECT ON mysql.proc TO 'user_name';

Per utilizzare Amazon RDS for My SQL o Aurora My SQL come destinazione, imposta il lower_case_table_names parametro su. 1 Questo valore indica che il SQL server My gestisce gli identificatori di nomi di oggetti come tabelle, indici, trigger e database senza distinzione tra maiuscole e minuscole. Se hai attivato la registrazione binaria nell'istanza di destinazione, imposta il parametro log_bin_trust_function_creators su 1. In questo caso, non è necessario utilizzare le caratteristiche DETERMINISTIC, READS SQL DATA o NO SQL per creare funzioni archiviate. Per configurare questi parametri, crea un nuovo gruppo di parametri di database o modifica un gruppo di parametri di database esistente.

SQLImpostazioni di conversione da Server a My Conversion SQL

Per modificare le impostazioni di SQL conversione da SQL Server a Le mie impostazioni, in AWS SCT Impostazioni, quindi scegli Impostazioni di conversione. Dall'elenco in alto, scegli SQLServer, quindi scegli SQLServer — Mio SQL. AWS SCT visualizza tutte le impostazioni disponibili per la SQL conversione da SQL Server a My.

SQLLe impostazioni di SQL conversione da Server a My AWS SCT includono le seguenti opzioni:

  • Per limitare il numero di commenti con azioni nel codice convertito.

    Per Aggiungi commenti nel codice convertito per le azioni di gravità selezionata o superiore, scegli la gravità delle azioni. AWS SCT aggiunge commenti nel codice convertito per le azioni con la gravità selezionata o superiore.

    Ad esempio, per ridurre al minimo il numero di commenti nel codice convertito, scegli Solo errori. Per includere commenti per tutti gli elementi d'azione nel codice convertito, scegli Tutti i messaggi.

  • Per consentire al database SQL del Server di origine di memorizzare l'output di EXEC in una tabella. AWS SCT crea tabelle temporanee e una procedura aggiuntiva per emulare questa funzionalità. Per utilizzare questa emulazione, seleziona Crea routine aggiuntive per la gestione di set di dati aperti.

Considerazioni sulla migrazione

Considera questi aspetti quando migri uno schema SQL Server a My: SQL

  • My SQL non supporta l'MERGEaffermazione. Tuttavia, AWS SCT può emulare l'MERGEistruzione durante la conversione utilizzando la INSERT ON DUPLICATE KEY clausola e le UPDATE FROM and DELETE FROM istruzioni.

    Per un corretto utilizzo dell'emulazioneINSERT ON DUPLICATE KEY, assicuratevi che esista un vincolo univoco o una chiave primaria sul database My di destinazione. SQL

  • È possibile utilizzare un'GOTOistruzione e un'etichetta per modificare l'ordine in cui vengono eseguite le istruzioni. Tutte SQL le istruzioni Transact- che seguono un'GOTOistruzione vengono ignorate e l'elaborazione continua dall'etichetta. È possibile utilizzare GOTO istruzioni ed etichette ovunque all'interno di una procedura, di un batch o di un blocco di istruzioni. È inoltre possibile annidare GOTO le istruzioni.

    My SQL non utilizza GOTO dichiarazioni. Quando AWS SCT converte il codice che contiene un'GOTOistruzione, converte l'istruzione per utilizzare un'istruzione BEGIN…END orLOOP…END LOOP. È possibile trovare esempi di come AWS SCT converte GOTO le istruzioni nella tabella seguente.

    SQLDichiarazione del server La mia SQL dichiarazione
    BEGIN .... statement1; .... GOTO label1; statement2; .... label1: Statement3; .... END
    BEGIN label1: BEGIN .... statement1; .... LEAVE label1; statement2; .... END; Statement3; .... END
    BEGIN .... statement1; .... label1: statement2; .... GOTO label1; statement3; .... statement4; .... END
    BEGIN .... statement1; .... label1: LOOP statement2; .... ITERATE label1; LEAVE label1; END LOOP; statement3; .... statement4; .... END
    BEGIN .... statement1; .... label1: statement2; .... statement3; .... statement4; .... END
    BEGIN .... statement1; .... label1: BEGIN statement2; .... statement3; .... statement4; .... END; END
  • My SQL non supporta funzioni con valori di tabella a più istruzioni. AWS SCT simula funzioni con valori di tabella durante una conversione creando tabelle temporanee e riscrivendo istruzioni per utilizzare queste tabelle temporanee.