Conversión de esquemas db2 (Db2ToSQL)
Después de conectarse a Db2 y SQL Server, y establecer opciones de asignación de proyectos y datos, puede convertir objetos de base de datos db2 en objetos de base de datos de SQL Server.
El proceso de conversión
La conversión de objetos de base de datos toma las definiciones de objeto de Db2, las convierte en objetos de SQL Server similares y, a continuación, carga esta información en los metadatos de SQL Server Migration Assistant (SSMA). No carga la información en la instancia de SQL Server. A continuación, puede ver los objetos y sus propiedades mediante el Explorador de metadatos de SQL Server.
Durante la conversión, SSMA imprime los mensajes de salida en el panel de salida y los mensajes de error en el panel Lista de errores. Use la información de salida y error para determinar si tiene que modificar las bases de datos db2 o el proceso de conversión para obtener los resultados de conversión deseados.
Establecer opciones de conversión
Antes de convertir objetos, revise las opciones de conversión del proyecto en el cuadro de diálogo Configuración del proyecto. Use este cuadro de diálogo para establecer cómo SSMA convierte las funciones y las variables globales. Para obtener más información, consulte Configuración del proyecto (conversión).
Resultados de la conversión
En la tabla siguiente se muestran los objetos Db2 convertidos y los objetos resultantes de SQL Server:
Objetos Db2 | Objetos de SQL Server resultantes |
---|---|
Tipos de datos | SSMA asigna todos los tipos excepto los siguientes:CLOB : algunas funciones nativas que funcionan con este tipo no se admiten (por ejemplo, CLOB_EMPTY() ).BLOB : algunas funciones nativas para trabajar con este tipo no se admiten (por ejemplo, BLOB_EMPTY() )DBLOB : algunas funciones nativas para trabajar con este tipo no se admiten (por ejemplo, DBLOB_EMPTY() ) |
Tipos definidos por el usuario | SSMA asigna los siguientes objetos definidos por el usuario: - Tipo distinto - Tipo estructurado - Tipos de datos de PL de SQL Nota: No se admiten tipos de cursor débiles. |
Registros especiales | SSMA solo asigna los registros siguientes:CURRENT TIMESTAMP CURRENT DATE CURRENT TIME CURRENT TIMEZONE CURRENT USER SESSION_USER y USER SYSTEM_USER CURRENT CLIENT_APPLNAME CURRENT CLIENT_WRKSTNNAME CURRENT LOCK TIMEOUT CURRENT SCHEMA CURRENT SERVER CURRENT ISOLATION Otros registros especiales no se asignan a la semántica de SQL Server. |
CREATE TABLE |
SSMA se asigna CREATE TABLE con las siguientes excepciones:Tablas de agrupación en clústeres multidimensionales (MDC) Tablas agrupadas por intervalos (RCT) Tablas con particiones Tabla desasociada DATA CAPTURE clauseIMPLICITLY HIDDEN opciónVOLATILE opción |
CREATE VIEW |
Asignaciones de SSMA CREATE VIEW con WITH LOCAL CHECK OPTION pero otras opciones no están asignadas a la semántica de SQL Server |
CREATE INDEX |
SSMA se asigna CREATE INDEX con las siguientes excepciones:Índice XML BUSINESS_TIME WITHOUT OVERLAPS opciónPARTITIONED clauseSPECIFICATION ONLY opciónEXTEND USING opciónMINPCTUSED opciónPAGE SPLIT opción |
Desencadenadores | SSMA asigna la siguiente semántica del desencadenador:AFTER / FOR EACH ROW desencadenantesAFTER / FOR EACH STATEMENT desencadenantesBEFORE / FOR EACH ROW desencadenadores y INSTEAD OF / FOR EACH ROW |
Secuencias | Asignado. |
Instrucción SELECT |
SSMA se asigna SELECT con las siguientes excepciones:cláusula data-change-table-reference: asignada parcialmente, pero FINAL no se admiten tablascláusula table-reference: asignada parcialmente, pero only-table-reference, outer-table-reference, analyze-table-expression, collection-derived-table, xmltable-expression no se asignan a la semántica de SQL Server. period-specification cláusula : no asignada.Cláusula continue-handler: no asignada. Cláusula typed-correlation: no asignada. Cláusula concurrent-access-resolution: no asignada. |
Instrucción VALUES |
Asignado. |
Instrucción INSERT |
Asignado. |
Instrucción UPDATE |
SSMA se asigna UPDATE con las siguientes excepciones:Cláusula Table-reference: only-table-reference no está asignada a la semántica de SQL Server Cláusula Period: no está asignada. |
Instrucción MERGE |
SSMA se asigna MERGE con las siguientes excepciones:Repeticiones únicas frente a varias de cada cláusula: asignada a la semántica de SQL Server para repeticiones limitadas de cada cláusula SIGNAL cláusula : no se asigna a la semántica de SQL ServerCláusulas mixtas UPDATE y DELETE : no se asigna a la semántica de SQL ServerCláusula period-clause: no se asigna a la semántica de SQL Server |
Instrucción DELETE |
SSMA se asigna DELETE con las siguientes excepciones:Cláusula Table-reference: only-table-reference no está asignada a la semántica de SQL Server Cláusula period: no se asigna a la semántica de SQL Server |
Nivel de aislamiento y tipo de bloqueo | Asignado. |
Procedimientos (SQL) | Asignado. |
Procedimientos (externos) | Actualizaciones manuales obligatorias. |
Procedimientos (de origen) | No se asigne a la semántica de SQL Server. |
Instrucción assignment | Asignado. |
CALL instrucción para un procedimiento |
Asignado. |
Instrucción CASE |
Asignado. |
Instrucción FOR |
Asignado. |
Instrucción GOTO |
Asignado. |
Instrucción IF |
Asignado. |
Instrucción ITERATE |
Asignado. |
Instrucción LEAVE |
Asignado. |
Instrucción LOOP |
Asignado. |
Instrucción REPEAT |
Asignado. |
Instrucción RESIGNAL |
Las condiciones no se admiten. Los mensajes pueden ser opcionales. |
Instrucción RETURN |
Asignado. |
Instrucción SIGNAL |
Las condiciones no se admiten. Los mensajes pueden ser opcionales. |
Instrucción WHILE |
Asignado. |
Instrucción GET DIAGNOSTICS |
SSMA se asigna GET DIAGNOSTICS con las siguientes excepciones:ROW_COUNT -Asignado.Db2_RETURN_STATUS -Asignado.MESSAGE_TEXT -Asignado.Db2_SQL_NESTING_LEVEL : no se asigna a la semántica de SQL ServerDb2_TOKEN_STRING : no se asigna a la semántica de SQL Server |
Cursores | SSMA asigna cursores con las siguientes excepciones:ALLOCATE CURSOR instrucción : no se asigna a la semántica de SQL ServerASSOCIATE LOCATORS instrucción : no se asigna a la semántica de SQL ServerDECLARE CURSOR instrucción : la cláusula Returnability no está asignada a la semántica de SQL Server.FETCH instrucción : asignación parcial. Solo se admiten variables como destino. SQLDA DESCRIPTOR no se asigna a la semántica de SQL Server |
Variables | Asignado. |
Excepciones, controladores y condiciones | SSMA asigna el control de excepciones con las siguientes excepciones:EXIT controladores: asignados.UNDO controladores: asignados.CONTINUE controladores: no asignados.Condiciones: no se asigna a la semántica de SQL Server. |
SQL dinámico | No se asigna. |
Alias | Asignado. |
Sobrenombres | Asignación parcial. El procesamiento manual es necesario para el objeto subyacente |
Sinónimos | Asignado. |
Funciones estándar en Db2 | SSMA asigna funciones estándar db2 cuando una función equivalente está disponible en SQL Server: |
Authorization | No se asigna. |
Predicados | Asignado. |
Instrucción SELECT INTO |
No se asigna. |
Instrucción VALUES INTO |
No se asigna. |
Control de las transacciones | No se asigna. |
Conversión de objetos de base de datos Db2
Para convertir objetos de base de datos db2, seleccione primero los objetos que desea convertir y, a continuación, haga que SSMA realice la conversión. Para ver los mensajes de salida durante la conversión, vaya a Ver>salida.
Para convertir objetos db2 a la sintaxis de SQL Server
En el Explorador de metadatos de Db2, expanda el servidor Db2 y, a continuación, expanda Esquemas.
Seleccione los objetos que se van a convertir:
Para convertir todos los esquemas, active la casilla situada junto a Esquemas.
Para convertir u omitir una base de datos, active la casilla situada junto al nombre del esquema.
Para convertir u omitir una categoría de objetos, expanda un esquema y, a continuación, active o desactive la casilla situada junto a la categoría.
Para convertir u omitir objetos individuales, expanda la carpeta category y, a continuación, active o desactive la casilla situada junto al objeto.
Para convertir todos los objetos seleccionados, haga clic con el botón derecho en Esquemas y seleccione Convertir esquema.
También puede crear scripts de objetos individuales o categorías de objetos haciendo clic con el botón derecho en el objeto o su carpeta principal y, a continuación, haciendo clic en Guardar como script.
Ver problemas de conversión
Es posible que algunos objetos Db2 no se conviertan. Para determinar las tasas de éxito de conversión, consulte el informe de conversión de resumen.
Visualización de un informe de resumen
En el Explorador de metadatos de Db2, seleccione Esquemas.
En el panel derecho, seleccione la pestaña Informe.
En este informe se muestra el informe de evaluación de resumen de todos los objetos de base de datos evaluados o convertidos. También puede ver un informe de resumen para objetos individuales:
Para ver el informe de un esquema individual, seleccione el esquema en el Explorador de metadatos de Db2.
Para ver el informe de un objeto individual, seleccione el objeto en el Explorador de metadatos de Db2. Los objetos que tienen problemas de conversión tienen un icono de error rojo.
En el caso de los objetos con errores de conversión, puede ver la sintaxis que ha causado el error de conversión.
Visualización de problemas de conversión individuales
En el Explorador de metadatos de Db2, expanda Esquemas.
Expanda el esquema que muestra un icono de error rojo.
En el esquema, expanda una carpeta que tenga un icono de error rojo.
Seleccione el objeto que tiene un icono de error rojo.
En el panel derecho, seleccione la pestaña Informe.
En la parte superior de la pestaña Informe , es una lista desplegable. Si la lista muestra Estadísticas, cambie la selección a Origen.
SSMA muestra el código fuente y varios botones inmediatamente encima del código.
Seleccione el botón Siguiente problema (un icono de error rojo con una flecha que apunta a la derecha).
SSMA resalta el primer código fuente problemático que encuentre en el objeto actual.
Para cada elemento que no se pudo convertir, debe determinar lo que desea hacer con ese objeto:
Puede modificar el código fuente de los procedimientos en la pestaña SQL.
Puede modificar el objeto de la base de datos Db2 para quitar o revisar el código problemático. Para cargar el código actualizado en SSMA, debe actualizar los metadatos. Para obtener más información, consulte Conexión a la base de datos db2.
Puede excluir el objeto de la migración. En el Explorador de metadatos de SQL Server y el Explorador de metadatos de Db2, desactive la casilla situada junto al elemento antes de cargar los objetos en SQL Server y migrar datos de Db2.