Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Convertir SQL el servidor a Mi SQL
Para emular las funciones de la base de datos de Microsoft SQL Server en su SQL código convertido, utilice el paquete de SQL extensiones SQL Server to My en AWS SCT. Para obtener más información acerca de los paquetes de extensión , consulte Uso de paquetes de extensión con AWS Schema Conversion Tool.
Temas
Privilegios para My SQL como base de datos de destino
Los privilegios necesarios para My SQL como objetivo son los siguientes:
CREATEEN * . *
ALTERENCENDIDO* . *
DROPENCENDIDO* . *
INDEXENCENDIDO* . *
REFERENCESENCENDIDO* . *
SELECTENCENDIDO* . *
CREATEVIEWENCENDIDO* . *
SHOWVIEWENCENDIDO* . *
TRIGGERENCENDIDO* . *
CREATEROUTINEENCENDIDO* . *
ALTERROUTINEENCENDIDO* . *
EXECUTEENCENDIDO* . *
INSERT, UPDATE EL AWS _ SQLSERVER _EXT. *
INSERT,UPDATE, DELETE EL AWS _ SQLSERVER _ EXT _DATA. *
CREATETEMPORARYTABLESEL AWS _ SQLSERVER _ EXT _DATA. *
Puede usar el siguiente ejemplo de código para crear un usuario de base de datos y conceder los privilegios.
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
';
En el ejemplo anterior, sustituya user_name
por el nombre de su usuario. A continuación, sustituya your_password
con una contraseña segura.
Si utiliza como destino una versión 5.7 o inferior de Mi SQL base de datos, ejecute el siguiente comando. Para la versión 8.0 y superior de Mis SQL bases de datos, este comando está obsoleto.
GRANT SELECT ON mysql.proc TO '
user_name
';
Para usar Amazon RDS for My SQL o Aurora My SQL como objetivo, defina el lower_case_table_names
parámetro en1
. Este valor significa que el SQL servidor My gestiona los identificadores de nombres de objetos como tablas, índices, activadores y bases de datos sin distinguir entre mayúsculas y minúsculas. Si ha activado el registro binario en la instancia de destino, establezca el parámetro log_bin_trust_function_creators
en 1
. En este caso, no es necesario utilizar las características DETERMINISTIC
, READS SQL DATA
o NO SQL
para crear funciones almacenadas. Para configurar estos parámetros, cree un grupo de parámetros de base de datos nuevo o modifique uno existente.
SQLConfiguración de conversión del servidor a Mi SQL
Para editar la configuración de SQL conversión SQL del servidor a mi configuración de conversión, AWS SCT seleccione Configuración y, a continuación, seleccione Configuración de conversión. En la lista superior, selecciona SQLServidor y, a continuación, selecciona SQLServidor — Mi SQL. AWS SCT muestra todos los ajustes disponibles para la SQL conversión de SQL Servidor a Mi.
SQLLa configuración de SQL conversión de Servidor a Mi AWS SCT incluye opciones para lo siguiente:
-
Limitar el número de comentarios con elementos de acción en el código convertido.
En Añadir comentarios en el código convertido para los elementos de acción de la gravedad seleccionada o superior, selecciona la gravedad de los elementos de acción. AWS SCT añade comentarios en el código convertido para los elementos de acción de la gravedad seleccionada o superior.
Por ejemplo, para minimizar el número de comentarios en el código convertido, seleccione Solo errores. Para incluir comentarios para todos los elementos de acción del código convertido, seleccione Todos los mensajes.
-
Para permitir que la base de datos SQL del servidor de origen almacene los resultados
EXEC
en una tabla. AWS SCT crea tablas temporales y un procedimiento adicional para emular esta función. Para usar esta simulación, seleccione Crear rutinas adicionales para gestionar conjuntos de datos abiertos.
Consideraciones sobre la migración
Tenga en cuenta lo siguiente al migrar un esquema de SQL servidor a My: SQL
My SQL no apoya la
MERGE
afirmación. Sin embargo, AWS SCT puede emular laMERGE
declaración durante la conversión utilizando laINSERT ON DUPLICATE KEY
cláusula y lasUPDATE FROM and DELETE FROM
declaraciones.Para un uso correcto de la emulación
INSERT ON DUPLICATE KEY
, asegúrese de que exista una restricción única o clave principal en la base de datos My de destino. SQLPuede usar una instrucción
GOTO
y una etiqueta para cambiar el orden en el que se ejecutan las instrucciones. Se omite cualquier declaración SQL de Transact que siga a unaGOTO
declaración y el procesamiento continúa en la etiqueta. Puede usar las instruccionesGOTO
y las etiquetas se pueden utilizar en cualquier lugar de un procedimiento, lote o bloque de instrucciones. También puede anidar instruccionesGOTO
.My SQL no usa
GOTO
declaraciones. Cuando AWS SCT convierte el código que contiene unaGOTO
sentencia, convierte la sentencia para usar unaLOOP…END LOOP
sentenciaBEGIN…END
o. Puede encontrar ejemplos de cómo se AWS SCT conviertenGOTO
las sentencias en la siguiente tabla.SQLDeclaración del servidor Mi SQL declaración 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 no admite funciones con valores de tabla con múltiples sentencias. AWS SCT simula funciones con valores de tabla durante una conversión mediante la creación de tablas temporales y la reescritura de sentencias para utilizarlas.