Compartir a través de


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 valor de variable y el archivo de conexión del 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 ventana de salida: si suppress-messages el atributo está establecido trueen , los mensajes específicos del 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 de acceso 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>
    

    or

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

    or

    <migrate-data>
      <data-migration-connection   source-server="<source-server-unique-name>"
                                   target-use-last-used="true"/>
    </migrate-data>
    
  3. Elemento emergente entrada de usuario: permite el control de 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.

    Mode Descripción
    ask-user Le pide que continúe (yes) o que se produzca 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>
    

    or

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

    or

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

    or

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

    or

    <convert-schema object-name="<object-name>">
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>
    </convert-schema>
    
  6. Proveedor de requisitos previos con errores: puede controlar los requisitos previos necesarios para procesar un comando. De manera predeterminada, strict-mode es false. Si truees , se genera una excepción para que no se cumpla 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. SSMA para la aplicación de consola de SSMA espera a que la operación se complete y finalice 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 progress-reporting 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>
    

    or

    <...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 de registrador Descripción
    fatal-error Solo se registran mensajes de error irrecuperables.
    error (valor predeterminado) Solo se registran los mensajes de error y de error irrecuperable.
    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 Todos los niveles de mensajes registrados.

    Los mensajes obligatorios se registran en cualquier nivel.

    Ejemplo:

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

    or

    <...All commands...>
      <log-verbosity level="fatal-error/error/warning/info/debug"/>
    </...All commands...>
    
  10. Invalidar contraseña cifrada: si truees , la contraseña de texto no cifrado especificada en la sección definición del servidor del archivo de conexión del servidor o en el archivo de script invalida 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 invalidación es false, el orden de búsqueda es Protected Storage > Script File > Server Connection File > Prompt User.

    2. Si la opción de invalidación es true, el orden de búsqueda es Script File > Server Connection File > Prompt User.

    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. Los intentos de reconexión se permiten a un máximo de 5 reintentos después de los cuales, la consola realiza automáticamente la reconexión. La instalación de la reconexión automática reduce el esfuerzo en 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 de una base de datos Db2 sigue la jerarquía de la tabla de esquema>.

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 con información de variable contenida en un archivo de valor de variable o, en una sección independiente dentro del archivo de script para los valores de variable.

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 en el archivo O2SSConsoleScriptSchema.xsdde definición de esquema , disponible en la Schemas carpeta .