Compartir vía


Conversión de esquemas DB2 (DB2ToSQL)

Después de conectarse a DB2, de conectarse a SQL Server y de 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.

Proceso de conversión

La conversión de objetos de bases de datos toma las definiciones de los objetos de DB2, realiza la conversión en objetos de SQL Server similares y, a continuación, carga esta información en los metadatos de 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 de errores para determinar si tiene que modificar las bases de datos de DB2 o el proceso de conversión para obtener los resultados de conversión deseados.

Configuración de las 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. Con este cuadro de diálogo, puede establecer cómo SSMA convierte las funciones y las variables globales. Para obtener más información, consulte Configuración del proyecto (conversión) (DB2ToSQL).

Resultados de la conversión

En la tabla siguiente se muestran los objetos de DB2 convertidos y los objetos de SQL Server resultantes:

Objetos DB2 Objetos de SQL Server resultantes
Tipo de datos SSMA asigna todos los tipos excepto los siguientes:

CLOB: algunas funciones nativas para trabajar 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 lo siguiente definido por el usuario:

Tipo distinto

Tipo estructurado

Tipos de datos PL de SQL - Nota: No se admite el tipo de cursor débil.
Registros especiales SSMA solo asigna los registros enumerados a continuación:

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

Cláusula DATA CAPTURE

Opción IMPLICITLY HIDDEN

Opción VOLATILE
CREATE VIEW SSMA asigna CREATE VIEW con "WITH LOCAL CHECK OPTION", pero otras opciones no se asignan a la semántica de SQL Server.
CREATE INDEX SSMA asigna CREATE INDEX con las excepciones siguientes:

Índice XML

Opción BUSINESS_TIME WITHOUT OVERLAPS

Cláusula PARTITIONED

Opción SPECIFICATION ONLY

Opción EXTEND USING

Opción MINPCTUSED

Opción PAGE SPLIT
Desencadenadores SSMA asigna la siguiente semántica del desencadenador:

Desencadenadores AFTER / FOR EACH ROW

Desencadenadores AFTER / FOR EACH STATEMENT

Desencadenadores BEFORE / FOR EACH ROW y INSTEAD OF / FOR EACH ROW
Secuencias Se asignan.
Instrucción SELECT SSMA asigna SELECT con las siguientes excepciones:

Cláusula Data-change-table-reference: asignada parcialmente, pero no se admiten tablas FINAL

Clá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.

Cláusula period-specification: no asignada.

Cláusula continue-handler: no asignada.

Cláusula typed-correlation: no asignada.

Cláusula concurrent-access-resolution: no asignada.
Instrucción VALUES Se asigna.
Instrucción INSERT Se asigna.
Instrucción UPDATE SSMA asigna UPDATE con las siguientes excepciones:

Cláusula table-reference: only-table-reference no se asigna a la semántica de SQL Server.

Cláusula period: no asignada.
Instrucción MERGE SSMA asigna MERGE con las siguientes excepciones:

Repeticiones únicas frente a varias de cada cláusula: se asigna a la semántica de SQL Server para repeticiones limitadas de cada cláusula

Cláusula SIGNAL: no se asigna a la semántica de SQL Server

Cláusulas UPDATE y DELETE mixtas: no se asigna a la semántica de SQL Server

Cláusula period-clause: no se asigna a la semántica de SQL Server
Instrucción DELETE SSMA asigna DELETE con las siguientes excepciones:

Cláusula table-reference: only-table-reference no se asigna 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 Se asigna.
Procedimientos (SQL) Se asignan.
Procedimientos (externos) Actualizaciones manuales obligatorias.
Procedimientos (de origen) No se asigna a la semántica de SQL Server.
Instrucción assignment Se asigna.
Instrucción CALL para un procedimiento Se asigna.
Instrucción CASE Se asigna.
Instrucción FOR Se asigna.
Instrucción GOTO Se asigna.
Instrucción IF Se asigna.
Instrucción ITERATE Se asigna.
Instrucción LEAVE Se asigna.
Instrucción LOOP Se asigna.
Instrucción REPEAT Se asigna.
Instrucción RESIGNAL Las condiciones no se admiten. Los mensajes pueden ser opcionales.
Instrucción RETURN Se asigna.
Instrucción SIGNAL Las condiciones no se admiten. Los mensajes pueden ser opcionales.
Instrucción WHILE Se asigna.
Instrucción GET DIAGNOSTICS SSMA asigna GET DIAGNOSTICS con las siguientes excepciones:

ROW_COUNT: se asigna.

DB2_RETURN_STATUS: se asigna.

MESSAGE_TEXT: se asigna.

DB2_SQL_NESTING_LEVEL: no se asigna a la semántica de SQL Server

DB2_TOKEN_STRING: no se asigna a la semántica de SQL Server
Cursores SSMA asigna CURSORS con las siguientes excepciones:

Instrucción ALLOCATE CURSOR: no se asigna a la semántica de SQL Server

Instrucción ASSOCIATE LOCATORS: no se asigna a la semántica de SQL Server

Instrucción DECLARE CURSOR: la cláusula Returnability no se asigna a la semántica de SQL Server.

Instrucción FETCH: asignación parcial. Solo se admiten variables como destino. SQLDA DESCRIPTOR no se asigna a la semántica de SQL Server
Variables Se asignan.
Excepciones, controladores y condiciones SSMA asigna "exception handling" con las siguientes excepciones:

Controladores EXIT: se asignan.

Controladores UNDO: se asignan.

Controladores CONTINUE: no se asignan.

Condiciones: no se asigna a la semántica de SQL Server.
SQL dinámico No se asigna.
Alias Se asignan.
Sobrenombres Asignación parcial. El procesamiento manual es necesario para el objeto subyacente
Sinónimos Se asignan.
Funciones estándar en DB2 SSMA asigna funciones estándar DB2 cuando hay una función equivalente disponible en SQL Server:
Autorización No se asigna.
Predicados Se asignan.
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, en el menú Ver seleccione Salida.

Para convertir objetos DB2 en sintaxis de SQL Server

  1. En el Explorador de metadatos de DB2, expanda el servidor DB2 y, a continuación, expanda Esquemas.

  2. 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 o desactive 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 de la categoría y, a continuación, active o desactive la casilla situada junto al objeto.

  3. Para convertir todos los objetos seleccionados, haga clic con el botón derecho en Esquemas y seleccione Convertir esquema.

    También puede convertir objetos individuales o categorías de objetos haciendo clic con el botón derecho en el objeto o su carpeta primaria y seleccionando Convertir esquema.

Visualización de 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.

Para ver un informe de resumen

  1. En el Explorador de metadatos de DB2, seleccione Esquemas.

  2. 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 que se han evaluado o convertido. 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 produjo el error de conversión.

Para ver problemas de conversión individuales

  1. En el Explorador de metadatos de DB2, expanda Esquemas.

  2. Expanda el esquema que muestra un icono de error rojo.

  3. En el esquema, expanda una carpeta que tenga un icono de error rojo.

  4. Seleccione el objeto que tiene un icono de error rojo.

  5. En el panel derecho, haga clic en la pestaña Informe.

  6. En la parte superior de la pestaña Informe se encuentra una lista desplegable. Si la lista muestra Estadísticas, cambie la selección a Origen.

    SSMA mostrará el código fuente y varios botones inmediatamente encima del código.

  7. Haga clic en el botón Siguiente problema. Se trata de un icono de error rojo con una flecha que apunta a la derecha.

    SSMA resaltará 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 en la base de datos DB2 para quitar o revisar el código problemático. Para cargar el código actualizado en SSMA, tendrá que actualizar los metadatos. Para obtener más información, consulte Conexión a la base de datos DB2 (DB2ToSQL).

  • 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 desde DB2.

Paso siguiente

El siguiente paso del proceso de migración es cargar los objetos de base de datos convertidos en SQL Server.

Consulte también

Migración de datos de DB2 a SQL Server (DB2ToSQL)