Creación de archivos de script (Db2ToSQL)

Para poder iniciar la aplicación de consola sql Server Migration Assistant (SSMA), debe crear el archivo de script. Si es necesario, también puede crear el archivo de valores de las variables y el archivo de conexión al servidor.

El archivo de script se puede dividir en tres secciones:

Sección Descripción
config Establezca los parámetros de configuración de la aplicación de consola.
servers Establezca las definiciones de servidor de origen o destino. También puede estar en un archivo de conexión de servidor independiente.
script-commands Ejecute comandos de flujo de trabajo de SSMA.

Cada sección se describe en detalle en este artículo.

Configuración de las opciones de la aplicación de consola de SSMA

Las configuraciones de un script se muestran en el archivo de script de consola.

Si alguno de los elementos se especifica en el nodo de configuración, se establece como la configuración global. En otras palabras, se aplican a todos los comandos de script. Estos elementos de configuración también se pueden establecer dentro de cada comando de la sección script-command si desea invalidar la configuración global.

Las opciones configurables por el usuario incluyen:

  1. Proveedor de la ventana de salida: si el atributo suppress-messages está establecido en true, los mensajes específicos de cada comando no se muestran en la consola.

    Atributo Descripción
    destination Especifica si la salida debe imprimirse en un archivo o stdout. false es el valor predeterminado.
    file-name (opcional) Ruta del archivo.
    suppress-messages Suprime los mensajes en la consola. false es el valor predeterminado.

    Ejemplo:

    <output-providers>
      <output-window
        suppress-messages="<true/false>"   (optional)
        destination="<file/stdout>"        (optional)
        file-name="<file-name>"            (optional)
       />
    </output-providers>
    

    o

    <...All commands...>
      <output-window
         suppress-messages="<true/false>"   (optional)
         destination="<file/stdout>"        (optional)
         file-name="<file-name>"            (optional)
       />
    </...All commands...>
    
  2. Proveedor de conexión de migración de datos: especifica qué servidor de origen o destino se debe tener en cuenta para la migración de datos. Source-use-last-used indica que el último servidor de origen usado se usa para la migración de datos. Del mismo modo, target-use-last-used indica que se usa el último servidor de destino usado para la migración de datos. También puede especificar el servidor (origen o destino) mediante los atributos source-server o target-server.

    Solo se puede establecer uno de estos atributos a la vez:

    • source-use-last-used="true" (predeterminado) o source-server="<source-server-unique-name>"
    • target-use-last-used="true" (predeterminado) o target-server="<target-server-unique-name>"

    Ejemplo:

    <output-providers>
      <data-migration-connection   source-use-last-used="true"
                                   target-server="<target-server-unique-name>"/>
    </output-providers>
    

    o

    <migrate-data>
      <data-migration-connection   source-server="<source-server-unique-name>"
                                   target-use-last-used="true"/>
    </migrate-data>
    
  3. Ventana emergente de entrada de usuario: Permite gestionar los errores cuando los objetos se cargan desde la base de datos. Proporciona los modos de entrada y, si se produce un error, la consola continúa como se especifica.

    Modo Descripción
    ask-user Le pregunta si desea continuar (yes) o mostrar un error (no).
    error (valor predeterminado) La consola muestra un error y detiene la ejecución.
    continue La consola continúa con la ejecución.

    Ejemplo:

    <output-providers>
      <user-input-popup mode="<ask-user/continue/error>"/>
    </output-providers>
    

    o

    <!-- Connect to target database -->
    <connect-target-database server="<target-server-unique-name>">
      <user-input-popup mode="<ask-user/continue/error>"/>
    </connect-target-database>
    
  4. Proveedor de reconexión: permite establecer la configuración de reconexión si se produce un error de conexión. Esto se puede establecer tanto para los servidores de origen como para los de destino.

    Modo de reconexión Descripción
    reconnect-to-last-used-server Si la conexión no está activa, intenta volver a conectarse al último servidor usado cinco veces como máximo.
    generate-an-error (valor predeterminado) Si la conexión no está activa, se genera un error.

    Ejemplo:

    <output-providers>
      <reconnect-manager  on-source-reconnect="<reconnect-to-last-used-server/generate-an-error>"
                          on-target-reconnect="<reconnect-to-last-used-server/generate-an-error>"/>
    </output-providers>
    

    o

    <!--synchronization-->
    <synchronize-target>
      <reconnect-manager on-target-reconnect="reconnect-to-last-used-server"/>
    </synchronize-target>
    

    o

    <!--data migration-->
    <migrate-data server="<target-server-unique-name>">
      <reconnect-manager
        on-source-reconnect="reconnect-to-last-used-server"
        on-target-reconnect="generate-an-error"/>
    </migrate-data>
    
  5. Proveedor de sobrescritura del convertidor: permite controlar los objetos que ya están presentes en la metabase de destino.

    Acción Descripción
    error La consola muestra un error y detiene la ejecución.
    overwrite (valor predeterminado) Sobrescribe los valores de objeto existentes.
    skip La consola omite los objetos que ya existen en la base de datos.
    ask-user Le pide una entrada (yes / no).

    Ejemplo:

    <output-providers>
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>
    </output-providers>
    

    o

    <convert-schema object-name="<object-name>">
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>
    </convert-schema>
    
  6. Proveedor de requisitos previos fallido: puede administrar cualquier requisito previo necesario para procesar un comando. De manera predeterminada, strict-mode es false. Si true, se genera una excepción por no cumplirse los requisitos previos.

    Ejemplo:

    <output-providers>
      <prerequisites strict-mode="<true/false>"/>
    </output-providers>
    
  7. Detener operación: durante la operación intermedia, si desea detener la operación, se puede usar la tecla de acceso rápido Ctrl+C. La aplicación de consola SSMA para SSMA espera a que la operación finalice y termina la ejecución de la consola.

    Si desea detener la ejecución inmediatamente, se puede presionar de nuevo la tecla de acceso rápido Ctrl+C para la finalización de la aplicación de consola SSMA.

  8. Proveedor de progreso: informa del progreso de cada comando de consola. Deshabilitado de forma predeterminada. Los atributos de informe de progreso comprenden:

    • off
    • every-1%
    • every-2%
    • every-5%
    • every-10%
    • every-20%

    Ejemplo:

    <output-providers>
      progress-reporting   enable="<true/false>"            (optional)
                           report-messages="<true/false>"   (optional)
                           report-progress="every-1%/every-2%/every-5%/every-10%/every-20%/off" (optional)/>
    </output-providers>
    

    o

    <...All commands...>
      <progress-reporting
        enable="<true/false>"              (optional)
        report-messages="<true/false>"     (optional)
        report-progress="every-1%/every-2%/every-5%/every-10%/every-20%/off"     (optional)/>
    </...All commands...>
    
  9. Nivel de detalle del registrador: Establece el nivel de detalle del registro. Esto corresponde a la opción Todas las categorías de la interfaz de usuario.

    Nivel del registrador Descripción
    fatal-error Solo se registran mensajes de error fatal.
    error (valor predeterminado) Solo se registran los mensajes de error y de error fatal.
    warning Todos los niveles excepto los mensajes de depuración e información se registran.
    info Todos los niveles excepto los mensajes de depuración se registran.
    debug Se registran todos los niveles de mensajes.

    Los mensajes obligatorios se registran en cualquier nivel.

    Ejemplo:

    <output-providers>
      <log-verbosity level="fatal-error/error/warning/info/debug"/>
    </output-providers>
    

    o

    <...All commands...>
      <log-verbosity level="fatal-error/error/warning/info/debug"/>
    </...All commands...>
    
  10. Anular la contraseña cifrada: Si true, la contraseña en texto sin cifrar especificada en la sección de definición del servidor del archivo de conexión del servidor o en el archivo de comandos anula la contraseña cifrada almacenada en el almacenamiento protegido, si existe. Si no se especifica ninguna contraseña en texto no cifrado, se le pedirá que escriba la contraseña.

    Aquí surgen dos casos:

    1. Si la opción de anulación es false, el orden de búsqueda es: Almacenamiento protegido > Archivo de script > Archivo de conexión al servidor > Solicitar confirmación al usuario.

    2. Si la opción de anulación es true, el orden de búsqueda es: Archivo de script > Archivo de conexión al servidor > Solicitar confirmación al usuario.

    Ejemplo:

    <output-providers>
      <encrypted-password override="<true/false>"/>
    </output-providers>
    

La opción no configurada es:

  • Número máximo de intentos de reconexión: cuando una conexión establecida agota el tiempo de espera o se interrumpe debido a un error de red, es necesario volver a conectar el servidor. Se permiten hasta un máximo de 5 reintentos de reconexión, tras los cuales la consola realiza automáticamente la reconexión. La función de reconexión automática reduce el esfuerzo necesario para volver a ejecutar el script.

Parámetros de conexión del servidor

Los parámetros de conexión del servidor se pueden definir en el archivo de script o en el archivo de conexión del servidor. Para obtener más información, consulte Creación de los archivos de conexión del servidor.

Comandos de script

El archivo de script contiene una secuencia de comandos de flujo de trabajo de migración en formato XML. La aplicación de consola SSMA procesa la migración en el orden de los comandos que aparecen en el archivo de script.

Por ejemplo, una migración de datos típica de una tabla específica en una base de datos Db2 sigue la jerarquía de esquema>tabla.

Cuando todos los comandos del archivo de script se ejecutan correctamente, se cierra la aplicación de consola SSMA. El contenido de un archivo de script es más o menos estático, y la información variable está contenida ya sea en un archivo de valores de variables o en una sección independiente dentro del archivo de script, dedicada a los valores de las variables.

Ejemplo:

Este es un ejemplo de los comandos de archivo de script:

<ssma-script-file>
  <script-commands>
    <create-new-project project-folder="<project-folder>"
                        project-name="<project-name>"
                        overwrite-if-exists="<true/false>"/>
    <connect-source-database server="<source-server-unique-name>"/>
    <save-project/>
    <close-project/>
  </script-commands>
</ssma-script-file>

Las plantillas que constan de tres archivos de script (para ejecutar varios escenarios), el archivo de valor de variable y un archivo de conexión de servidor se proporcionan en la carpeta Scripts de consola de ejemplo del directorio del producto:

  • AssessmentReportGenerationSample.xml
  • ConversionAndDataMigrationSample.xml
  • SqlStatementConversionSample.xml
  • VariableValueFileSample.xml
  • ServersConnectionFileSample.xml

Puede ejecutar las plantillas (archivos) después de cambiar los parámetros que se muestran en él por relevancia.

Puede encontrar una lista completa de comandos de script en Ejecutar la consola de SSMA.

Validación de archivos de script

Puede validar el archivo de script comparándolo con el archivo de definición de esquema O2SSConsoleScriptSchema.xsd, disponible en la carpeta Schemas.