Ejecución de la consola de SSMA (MySQLToSQL)
Microsoft proporciona un conjunto sólido de comandos de archivo de script para ejecutar y controlar las actividades de SSMA.
La aplicación de consola usa determinados comandos de archivo de script estándar como se enumera en esta sección.
Comandos project de archivo de script
Comando
create-new-project:
Crea un proyecto de SSMA.
Los comandos proyect controlan la creación de proyectos, la apertura, el guardado y la salida de los proyectos.
Script
project-folder
indica la carpeta del proyecto que se va a crear.project-name
indica el nombre del proyecto. {string}overwrite-if-exists
El atributo opcional indica si se debe sobrescribir un proyecto existente. {boolean}project-type:
Atributo opcional. Indica el tipo de proyecto, es decir, proyecto "sql-server-2005" o proyecto "sql-server-2008" o "sql-server-2012" o "sql-server-2014" o proyecto "sql-azure". El valor predeterminado es "sql-server-2008".
Ejemplo de sintaxis:
<create-new-project
project-folder="<project-folder>"
project-name="<project-name>"
overwrite-if-exists="<true/false>" (optional)
project-type=="<sql-server-2008 | sql-server-2005 | sql-server-2012 | sql-server-2014 | sql-azure>" (optional)
/>
El atributo “overwrite-if-exists” es falso de manera predeterminada.
El atributo "project-type" es sql-server-2008 de manera predeterminada.
Comando
open-project:
Abre un proyecto existente.
Script
project-folder
indica la carpeta del proyecto que se va a crear. Se produce un error en el comando si la carpeta especificada no existe. {string}project-name
indica el nombre del proyecto. Se produce un error en el comando si el proyecto especificado no existe. {string}
Ejemplo de sintaxis:
<open-project
project-folder="<project-folder>"
project-name="<project-name>"
/>
Importante
La aplicación de consola SSMA para MySQL admite compatibilidad con versiones anteriores. Podrá abrir proyectos creados por la versión anterior de SSMA.
Comando
save-project: guarda el proyecto de migración.
Script
Ejemplo de sintaxis:
<save-project/>
Comando
close-project
: cierra el proyecto de migración.
Script
Ejemplo de sintaxis:
<save-project/>
Comando
close-project
: cierra el proyecto de migración.
Script
Ejemplo de sintaxis:
<close-project
if-modified="<save/error/ignore>" (optional)
/>
El atributo “if-modified” es opcional, se omite de manera predeterminada.
Comandos de archivo de script de conexión de base de datos
Los comandos Conexión de base de datos ayudan a conectarse a la base de datos.
La característica Examinar de la interfaz de usuario no se admite en la consola.
Los parámetros de autenticación de Windows y puerto no están disponibles al conectarse a SQL Azure.
Para obtener más información sobre la creación de archivos de script, vea Crear archivos de script (MySQLToSQL).
Comando
connect-source-database
Hace la conexión a la base de datos de origen y carga metadatos de alto nivel de la base de datos de origen, pero no todos.
Si no se puede establecer la conexión al origen, se genera un error y la aplicación de consola detiene la ejecución posterior
Script
La definición de servidor se recupera del atributo Nombre definido para cada conexión de la sección del servidor del archivo de conexión del servidor o del archivo de script.
Ejemplo de sintaxis:
<connect-source-database server="<server-unique-name>"/>
Comando
force-load-source/target-database
Carga los metadatos de origen.
Es útil para trabajar en el proyecto de migración sin conexión.
Si no se puede establecer la conexión con el origen o destino, se genera un error y la aplicación de consola detiene la ejecución adicional
Script
Necesita uno o varios nodos de metabase como parámetro de línea de comandos.
Ejemplo de sintaxis:
<force-load metabase="<source/target>"
<metabase-object object-name="<object-name>"/>
</force-load>
Comando
reconnect-source-database
Vuelve a conectarse a la base de datos de origen, pero no carga ningún metadato a diferencia del comando connect-source-database.
Si no se puede (re)conectar con el origen, se genera un error y la aplicación de consola detiene la ejecución.
Script
Ejemplo de sintaxis:
<reconnect-source-database server="<server-unique-name>"/>
Comando
connect-target-database
Se conecta a SQL Server o Azure SQL Database de destino y carga metadatos de alto nivel de la base de datos de destino, pero no los metadatos por completo.
Si no se puede conectar con el destino, se genera un error y la aplicación de consola detiene la ejecución.
Script
La definición de servidor se recupera del atributo name definido para cada conexión de la sección servidor del archivo de conexión del servidor o del archivo de script
Ejemplo de sintaxis:
<connect-target-database server="<server-unique-name>"/>
Comando
reconnect-target-database
Vuelve a conectarse a la base de datos de destino, pero no carga ningún metadato, a diferencia del comando connect-target-database.
Si no se puede (re)conectar con el destino, se genera un error y la aplicación de consola detiene la ejecución.
Script
Ejemplo de sintaxis:
<reconnect-target-database server="<server-unique-name>"/>
Comandos de archivo de script de informe
Los comandos Report generan informes sobre el rendimiento de diversas actividades de la consola de SSMA.
Comando
generate-assessment-report
Genera informes de evaluación en la base de datos de origen.
Si no se realiza la conexión de base de datos de origen antes de ejecutar este comando, se genera un error y se cierra la aplicación de consola.
Si no se conecta al servidor de bases de datos de origen durante la ejecución del comando, también se finaliza la aplicación de consola.
Script
assessment-report-folder:
Especifica la carpeta donde se almacena el informe de evaluación. (atributo opcional)object-name:
Especifica los objetos que se consideran para la generación de informes de evaluación (puede tener nombres de objeto individuales o un nombre de objeto de grupo).object-type:
especifica el tipo del objeto especificado en el atributo object-name (si se especifica la categoría de objeto, el tipo de objeto será "category").assessment-report-overwrite:
Especifica si se va a sobrescribir la carpeta del informe de evaluación si ya existe.Valor predeterminado: Falso. (atributo opcional)
write-summary-report-to:
Especifica la ruta de acceso donde se generará el informe de resumen.Si solo se menciona la ruta de acceso de la carpeta, se crea el archivo con el nombre AssessmentReport<n.XML>. (atributo opcional)
La creación de informes tiene dos subcategorías adicionales:
report-errors
(="verdadero/falso", con el valor predeterminado como "falso" (atributos opcionales))verbose
(="verdadero/falso", con el valor predeterminado como "falso" (atributos opcionales))
Ejemplo de sintaxis:
<generate-assessment-report
object-name="<object-name>"
object-type="<object-category>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
o
<generate-assessment-report
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
>
<metabase-object object-name="<object-name>"
object-type="<object-category>"/>
</generate-assessment-report>
Comandos de archivo de script de migración
Los comandos de migración convierten el esquema de la base de datos de destino en el esquema de origen y migra los datos al servidor de destino.
La configuración de salida de la consola predeterminada para los comandos de migración es el informe de salida "Completo" sin informes detallados de errores: solo resumen en el nodo raíz del árbol de objetos de origen.
Comando
convert-schema
Hace la conversión de esquema desde el origen al esquema de destino.
Si no se hace la conexión de base de datos de origen o de destino antes de ejecutar este comando o la conexión al servidor de bases de datos de origen o de destino durante la ejecución del comando, se genera un error y se cierra la aplicación de consola.
Script
conversion-report-folder:
Especifica la carpeta donde se almacena el informe de evaluación. (atributo opcional)object-name:
Especifica los objetos que se consideran para convertir el esquema (puede tener nombres de objeto individuales o un nombre de objeto de grupo).object-type:
especifica el tipo del objeto especificado en el atributo object-name (si se especifica la categoría de objeto, el tipo de objeto será "category").conversion-report-overwrite:
Especifica si se va a sobrescribir la carpeta del informe de evaluación si ya existe.Valor predeterminado: Falso. (atributo opcional)
write-summary-report-to:
Especifica la ruta de acceso donde se generará el informe de resumen.Si solo se menciona la ruta de acceso de la carpeta, se crea el archivo con el nombre SchemaConversionReport<n.XML>. (atributo opcional)
La creación de informes de resumen tiene dos subcategorías adicionales:
report-errors
(="verdadero/falso", con el valor predeterminado como "falso" (atributos opcionales))verbose
(="verdadero/falso", con el valor predeterminado como "falso" (atributos opcionales))
Ejemplo de sintaxis:
<convert-schema
object-name="<object-name>"
object-type="<object-category>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
o
<convert-schema
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
<metabase-object object-name="<object-names>"
object-type="<object-category>"/>
</convert-schema>
Comando
migrate-data
- Migra datos del origen al destino.
Script
object-name:
Especifica los objetos de origen que se consideran para migrar datos (puede tener nombres de objeto individuales o un nombre de objeto de grupo).object-type:
especifica el tipo del objeto especificado en el atributo object-name (si se especifica la categoría de objeto, el tipo de objeto será "category").write-summary-report-to:
Especifica la ruta de acceso donde se generará el informe de resumen.Si solo se menciona la ruta de acceso de la carpeta, se crea el archivo con el nombre DataMigrationReport<n.XML>. (atributo opcional)
La creación de informes tiene dos subcategorías adicionales:
report-errors
(="verdadero/falso", con el valor predeterminado como "falso" (atributos opcionales))verbose
(="verdadero/falso", con el valor predeterminado como "falso" (atributos opcionales))
Ejemplo de sintaxis:
<migrate-data
write-summary-report-to="<file-name/folder-name>"
report-errors="true" verbose="true">
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
<data-migration-connection
source-use-last-used="true"/source-server="<server-unique-name>"
target-use-last-used="true"/target-server="<server-unique-name>"/>
</migrate-data>
o
<migrate-data
object-name="<object-name>"
object-type="<object-category>"
write-summary-report-to="<file-name/folder-name>"
report-errors="true" verbose="true"/>
Comando de archivo de script de preparación de migración
El comando de preparación de la migración inicia la asignación de esquemas entre las bases de datos de origen y de destino.
Comando
map-schema
Asignación de esquemas de la base de datos de origen al esquema de destino.
Script
source-schema
especifica el esquema de origen que queremos migrar.sql-server-schema
especifica el esquema de destino en el que queremos que se migre.
Ejemplo de sintaxis:
<map-schema
source-schema="<source-schema>"
sql-server-schema="<target-schema>"/>
Comandos de archivo de script de administración
Los comandos de administración ayudan a sincronizar los objetos de base de datos de destino con la base de datos de origen.
Nota:
La configuración de salida de la consola predeterminada para los comandos de migración es el informe de salida "Completo" sin informes detallados de errores: solo resumen en el nodo raíz del árbol de objetos de origen.
Comando
synchronize-target
Sincroniza los objetos de destino con la base de datos de destino.
Si este comando se ejecuta en la base de datos de origen, se produce un error.
Si no se hace la conexión de base de datos de destino antes de ejecutar este comando o la conexión al servidor de bases de datos de destino durante la ejecución del comando, se genera un error y se cierra la aplicación de consola.
Script
object-name:
Especifica los objetos que se consideran para sincronizar con la base de datos de destino (puede tener nombres de objeto individuales o un nombre de objeto de grupo).object-type:
especifica el tipo del objeto especificado en el atributo object-name (si se especifica la categoría de objeto, el tipo de objeto será "category").on-error:
Especifica si se deben especificar errores de sincronización como advertencias o errores. Opciones disponibles para el error:report-total-as-warning
report-each-as-warning
fail-script
report-errors-to:
Especifica la ubicación del informe de errores para la operación de sincronización (atributo opcional) si solo se especifica la ruta de acceso de la carpeta, se crea el archivo con el nombre TargetSynchronizationReport.XML.
Ejemplo de sintaxis:
<synchronize-target
object-name="<object-name>"
on-error="<report-total-as-warning/
report-each-as-warning/
fail-script>" (optional)
report-errors-to="<file-name>" (optional)
/>
o
<synchronize-target
object-name="<object-name>"
object-type="<object-category>"/>
o
<synchronize-target>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
</synchronize-target>
Comando
refresh-from-database
Actualiza los objetos de origen de la base de datos.
Si este comando se ejecuta en la base de datos de destino, se genera un error.
Script
object-name:
Especifica los objetos de origen que se consideran para actualizar desde la base de datos de origen (puede tener nombres de objeto individuales o un nombre de objeto de grupo).object-type:
Especifica el tipo del objeto especificado en el atributo object-name (si se especifica la categoría de objeto, el tipo de objeto será "category").on-error:
Especifica si se deben especificar errores de sincronización como advertencias o errores. Opciones disponibles para el error:report-total-as-warning
report-each-as-warning
fail-script
report-errors-to:
Especifica la ubicación del informe de errores para la operación de sincronización (atributo opcional) si solo se especifica la ruta de acceso de la carpeta, se crea el archivo con el nombre SourceDBRefreshReport.XML.
Necesita uno o varios nodos de metabase como parámetro de línea de comandos.
Ejemplo de sintaxis:
<refresh-from-database
object-name="<object-name>"
on-error="<report-total-as-warning/
report-each-as-warning/
fail-script>" (optional)
report-errors-to="<file-name>" (optional)
/>
o
<refresh-from-database
object-name="<object-name>"
object-type="<object-category>"/>
o
<refresh-from-database>
<metabase-object object-name="<object-name>"/>
</refresh-from-database>
Comandos de archivo de script de generación de scripts
Los comandos de generación de scripts realizan dos tareas: ayudan a guardar la salida de la consola en un archivo de script; y registran la salida de T-SQL en la consola o en un archivo basado en el parámetro que especifique.
Comando
save-as-script
Se usa para guardar los scripts de los objetos en un archivo mencionado cuando metabase=destino, se trata de una alternativa al comando de sincronización en el que se obtienen los scripts y se ejecutan los mismos en la base de datos de destino.
Script
Necesita uno o varios nodos de metabase como parámetro de línea de comandos.
object-name:
Especifica los objetos cuyos scripts se van a guardar. (Puede tener nombres de objeto individuales o un nombre de objeto de grupo)object-type:
especifica el tipo del objeto especificado en el atributo object-name (si se especifica la categoría de objeto, el tipo de objeto será "category").metabase:
Especifica si es el metabase de origen o de destino.destination:
Especifica la ruta de acceso o la carpeta en la que se debe guardar el script, si no se asigna el nombre de archivo, un nombre de archivo con el formato (object_name valor de atributo).outoverwrite:
si es true, sobrescribe si existe el mismo nombre de archivo. Puede tener los valores (verdadero/falso).
Ejemplo de sintaxis:
<save-as-script
metabase="<source/target>"
object-name="<object-name>"
object-type="<object-category>"
destination="<file-name/folder-name>"
overwrite="<true/false>" (optional)
/>
o
<save-as-script
metabase="<source/target>"
destination="<file-name/folder-name>"
<metabase-object object-name="<object-name>"
object-type="<object-category>"/>
</save-as-script>
Comando
convert-sql-statement
context
especifica el nombre del esquema.destination
especifica si la salida debe almacenarse en un archivo.Si no se especifica este atributo, la instrucción T-SQL convertida se muestra en la consola. (atributo opcional)
conversion-report-folder
especifica la carpeta donde se almacena el informe de evaluación. (atributo opcional)conversion-report-overwrite
especifica si se va a sobrescribir la carpeta del informe de evaluación si ya existe.Valor predeterminado: Falso. (atributo opcional)
write-converted-sql-to
especifica la ruta de acceso de carpeta del archivo (o) donde se almacenará el T-SQL convertido. Cuando se especifica una ruta de acceso de carpeta junto con el atributosql-files
, cada archivo de código fuente tendrá un archivo T-SQL de destino correspondiente creado en la carpeta especificada. Cuando se especifica una ruta de acceso de carpeta junto con el atributosql
, el T-SQL convertido se escribe en un archivo denominado Result.out en la carpeta especificada.sql
especifica las instrucciones sql de MySQL que se van a convertir, una o varias instrucciones se pueden separar mediante ";"sql-files
especifica la ruta de acceso de los archivos sql que se deben convertir en código T-SQL.write-summary-report-to
especifica la ruta de acceso donde se generará el informe de resumen. Si solo se menciona la ruta de acceso de la carpeta, se crea el archivo con el nombre ConvertSQLReport.XML. (atributo opcional)La creación de informes tiene 2 subcategorías adicionales, viz..,:
report-errors (="verdadero/falso", con el valor predeterminado como "falso" (atributos opcionales)).
verbose (="verdadero/falso", con el valor predeterminado como "falso" (atributos opcionales)).
Script
Necesita uno o varios nodos de metabase como parámetro de línea de comandos.
Ejemplo de sintaxis:
<convert-sql-statement
context="<schema-name>"
conversion-report-folder="<folder-name>"
conversion-report-overwrite="<true/false>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
destination="stdout/file" (optional)
write-converted-sql-to="<file-name/folder-name>"
sql="SELECT 1 FROM DUAL;">
<output-window suppress-messages="<true/false>" />
</convert-sql-statement>
o
<convert-sql-statement
context="<schema-name>"
conversion-report-folder="<folder-name>"
conversion-report-overwrite="<true/false>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
destination="<stdout/file>" (optional)
write-converted-sql-to="<file-name/folder-name>"
sql-files="<folder-name>\*.sql"
/>
o
<convert-sql-statement
context="<schema-name>"
conversion-report-folder="<folder-name>"
conversion-report-overwrite="<true/false>"
sql-files="<folder-name>\*.sql"
/>
Paso siguiente
Para obtener información sobre las opciones de línea de comandos, consulte Opciones de línea de comandos en la consola de SSMA (MySQLToSQL).
Para obtener más información sobre los archivos de script de consola de ejemplo, consulte Trabajar con archivos de script de consola de ejemplo (MySQLToSQL)
El siguiente paso depende de los requisitos del proyecto:
Para especificar una contraseña o exportar/importar contraseñas, consulte Administración de contraseñas (MySQLToSQL).
Para generar informes, consulte Generación de informes (MySQLToSQL).
Para solucionar problemas en la consola, consulte Solución de problemas (MySQLToSQL).