Compartir vía


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 clause
IMPLICITLY HIDDEN opción
VOLATILE 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ón
PARTITIONED clause
SPECIFICATION ONLY opción
EXTEND USING opción
MINPCTUSED opción
PAGE SPLIT opción
Desencadenadores SSMA asigna la siguiente semántica del desencadenador:

AFTER / FOR EACH ROW desencadenantes

AFTER / FOR EACH STATEMENT desencadenantes

BEFORE / FOR EACH ROWdesencadenadores 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 tablas

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.

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 Server

Cláusulas mixtas UPDATE y DELETE : 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 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 Server

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

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

DECLARE 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

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

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

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

  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, seleccione la pestaña Informe.

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

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