Creación de archivos de script (MySQLToSQL)
El primer paso antes de iniciar la aplicación de consola de SSMA es crear el archivo de script y, si es necesario, crear el archivo de valor variable y el archivo de conexión del servidor.
El archivo de script se puede dividir en tres secciones, viz..,:
config: permite al usuario establecer los parámetros de configuración para la aplicación de consola.
servers: permite al usuario establecer las definiciones de servidor de origen o destino. Esto también puede estar en un archivo de conexión de servidor independiente.
script-commands: permite al usuario ejecutar comandos de flujo de trabajo de SSMA.
Cada sección se describe en las secciones siguientes:
Configuración de las opciones de la consola de MySQL
Las configuraciones de un script se muestran en el archivo de script de consola.
Si se especifica cualquiera de los elementos en el nodo de configuración, se establecen como la configuración global, es decir, son aplicables 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 el usuario quiere invalidar la configuración global.
A continuación se indican las opciones que puede configurar el usuario:
Proveedor de ventana de resultados: si el atributo suppress-messages está establecido en "true", los mensajes específicos del comando no se muestran en la consola. A continuación se muestra la descripción de los atributos:
destination: especifica si la salida debe imprimirse en un archivo o stdout. De manera predeterminada, el valor es falso.
file-name: la ruta de acceso del archivo (opcional).
suppress-messages: elimina los mensajes en la consola. De manera predeterminada es “falso”.
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...>
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 cuál es el último servidor de origen usado se usa para la migración de datos. De manera similar, target-use-last-used indica cuál es el último servidor de origen usado se usa para la migración de datos. El usuario también puede especificar el servidor (origen o destino) mediante los atributos source-server o target-server.
Solo se puede usar uno u otro de los atributos especificados, es decir:
source-use-last-used="true" (valor predeterminado) o source-server="source_servername"
target-use-last-used="true" (valor predeterminado) o target-server="target_servername"
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>
Elemento emergente entrada de usuario: esto permite controlar los errores, cuando los objetos se cargan desde la base de datos. El usuario proporciona los modos de entrada y, en caso de error, la consola continúa como especifica el usuario.
Los modos incluyen:
ask-user: pide al usuario que continúe ("sí") o que se produzca un error ("no").
error: la consola muestra un error y detiene la ejecución.
continue: la consola continúa con la ejecución.
El modo de guardado predeterminado es error.
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>
Proveedor de reconexión: esto permite al usuario establecer la configuración de reconexión en caso de errores de conexión. Esto se puede establecer tanto para los servidores de origen como para los de destino.
Los modos de reconexión son:
reconnect-to-last-used-server: si la conexión no está activa, intenta volver a conectarse al último servidor usado como máximo 5 veces.
generate-an-error: si la conexión no está activa, se genera un error.
El modo predeterminado es generate-an-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>
Proveedor de sobrescritura del convertidor: permite al usuario controlar los objetos que ya están presentes en la metabase de destino. Entre las posibles acciones se incluyen:
error: la consola muestra un error y detiene la ejecución.
overwrite: sobrescribe los valores de objeto existentes. Esta acción se activa de manera predeterminada.
skip: la consola omite los objetos que ya existen en la base de datos
ask-user: solicita al usuario que escriba ("sí" / "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>
Proveedor de requisitos previos con errores: esto permite al usuario controlar los requisitos previos necesarios para procesar un comando. De manera predeterminada, el modo strict es "falso". Si se establece en "true", se genera una excepción por no cumplir los requisitos previos.
Ejemplo:
<output-providers> <prerequisites strict-mode="<true/false>"/> </output-providers>
Detener operación: durante la operación intermedia, si el usuario quiere detener la operación, se puede usar la tecla de acceso rápido "Ctrl+C". La consola de SSMA para MySQL esperará a que se complete la operación y finalice la ejecución de la consola.
Si el usuario quiere detener la ejecución inmediatamente, se puede presionar de nuevo la tecla de acceso rápido "Ctrl+C" para la terminación brusca de la aplicación de consola de SSMA
Proveedor de progreso: informa del progreso de cada comando de consola. Esta opción está deshabilitada de manera 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...>
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. De manera predeterminada, el nivel de detalle del registro es "error".
Las opciones de nivel de registrador incluyen:
fatal-error: solo se registran los mensajes de error irrecuperable.
error: solo se registran los mensajes de error y error irrecuperable.
warning: se registran todos los niveles excepto los mensajes de depuración e información.
warning: se registran todos los niveles excepto los mensajes de depuración.
debug: se registran todos los niveles de mensajes.
Nota:
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...>
Invalidar contraseña cifrada: si es "true", 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á al usuario que escriba la contraseña.
Hay dos casos posibles:
Si la opción de invalidación es falso, el orden de búsqueda será Almacenamiento protegido->Archivo de script->Archivo de conexión del servidor-> Preguntar al usuario.
Si la opción de invalidación es true, el orden de búsqueda será Archivo de script->Archivo de conexión del servidor->Preguntar al usuario.
Ejemplo:
<output-providers> <encrypted-password override="<true/false>"/> </output-providers>
La opción no configurable 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 pueden tener un máximo de 5 reintentos después de lo cual 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. Consulte la sección Creación de archivos de conexión de servidor (MySQLToSQL) para obtener más detalles.
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 de 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 de MySQL sigue la jerarquía de: Esquema -> Tabla.
Cuando todos los comandos del archivo de script se ejecutan correctamente, la aplicación de consola de SSMA sale y devuelve el control al usuario. El contenido de un archivo de script es más o menos estático con información de variable contenida en un archivo de valores de variable o en una sección independiente dentro del archivo de script para los valores de variable.
Ejemplo:
<!--Sample of script file commands -->
<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 3 archivos de script (para ejecutar varios escenarios), un archivo de valor 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 Ejecución de la consola de SSMA (MySQLToSQL)
Validación de archivos de script
El usuario puede validar fácilmente su archivo de script en el archivo de definición de esquema "M2SSConsoleScriptSchema.xsd" disponible en la carpeta "Esquemas".
Paso siguiente
El siguiente paso en el funcionamiento de la consola es Creación de archivos de valor de variable (MySQLToSQL).