Compartir a través de


Ejecución de la consola de SSMA (SybaseToSQL)

Microsoft proporciona un conjunto sólido de comandos de archivo de script para ejecutar y controlar las actividades de SQL Server Migration Assistant (SSMA). Las secciones siguientes detallan lo mismo.

Comandos de archivo de script

La aplicación de consola usa determinados comandos de archivo de script estándar como se enumera en esta sección.

Comandos del proyecto

Los comandos proyect controlan la creación de proyectos, la apertura, el guardado y la salida de los proyectos.

Comando create-new-project

Este comando crea un nuevo proyecto SSMA.

  • 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, sql-server-2016, sql-server-2017, sql-server-2019, sql-server-2022, sql-server-2025o sql-azure. El valor predeterminado es sql-server-2016.

Ejemplo de sintaxis

<create-new-project
  project-folder="<project-folder>"
  project-name="<project-name>"
  overwrite-if-exists="<true/false>" (optional)
  project-type=="<sql-server-2016 | sql-server-2017 | sql-server-2019 | sql-server-2022 | sql-server-2025 | sql-azure>"
/>

El atributo overwrite-if-exists es false de forma predeterminada.

El atributo project-type es sql-server-2016 de forma predeterminada.

Comando open-project

Este comando abre el proyecto.

  • 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>"
/>

Nota:

La aplicación de consola SSMA para SAP ASE admite compatibilidad con versiones anteriores. Puede usarlo para abrir proyectos creados por la versión anterior de SSMA.

Comando save-project

Este comando guarda el proyecto de migración.

Ejemplo de sintaxis

<save-project/>

Comando close-project

Este comando cierra el proyecto de migración.

Ejemplo de sintaxis

<close-project
  if-modified="<save/error/ignore>"   (optional)
/>

El atributo if-modified es opcional, ignore de forma predeterminada.

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

Para obtener más información, consulte Creación de archivos de script.

Comando connect-source-database

Este comando realiza 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 los metadatos.

Si no se puede establecer la conexión al origen, se genera un error y la aplicación de consola detiene la ejecución.

La definición del servidor se obtiene del atributo 'nombre' que está definido para cada conexión en 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

Este comando carga los metadatos de origen y resulta ú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 posterior.

Este comando requiere 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

Este comando se vuelve a conectar 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.

Ejemplo de sintaxis

<reconnect-source-database  server="<server-unique-name>"/>

Comando connect-target-database

Este comando se conecta a la base de datos de SQL Server 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.

La definición del servidor se recupera del atributo 'name' definido para cada conexión, en la sección de 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

Este comando se vuelve a conectar 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.

Ejemplo de sintaxis

<reconnect-target-database  server="<server-unique-name>"/>

Comandos de informe

Los comandos Report generan informes sobre el rendimiento de diversas actividades de la consola de SSMA.

Comando generate-assessment-report

Este comando genera informes de evaluación en la base de datos de origen.

Si no se realiza la conexión a la base de datos de origen antes de ejecutar este comando, se genera un error y se sale de 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.

  • conversion-report-folder: especifica la carpeta en la que se puede almacenar el informe de evaluación. (atributo opcional)

  • object-name: especifica los objetos considerados para la generación de informes de evaluación (admite nombres de objeto individuales o un nombre de objeto de grupo).

  • object-type: especifica el tipo del objeto que se llama en el atributo object-name (si se especifica la categoría de objeto, el tipo de objeto es "category").

  • conversion-report-overwrite: especifica si se va a sobrescribir la carpeta del informe de evaluación si ya existe.

    Valor predeterminado: false. (atributo opcional)

  • write-summary-report-to: indica la ruta de acceso donde se genera el informe.

    Si solo se menciona la ruta de acceso de la carpeta, se crea el archivo por nombre AssessmentReport<n>.xml . (atributo opcional)

    La creación de informes tiene dos subcategorías adicionales:

    • report-errors (="true/false", con el valor predeterminado como "false" (atributos opcionales))

    • verbose (="true/false", con el valor predeterminado como "false" (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)
  assessment-report-folder="<folder-name>"          (optional)
  conversion-report-overwrite="<true/false>"   (optional)
/>

O:

<generate-assessment-report
  assessment-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 migración

Los comandos de migración convierten el esquema de base de datos de destino en el esquema de origen y migran datos al servidor de destino.

Comando convert-schema

Este comando realiza la conversión de esquema desde el origen al esquema de destino.

Si la conexión de base de datos de origen o de destino no se realiza antes de ejecutar este comando, o se produce un error en la conexión con el servidor de base 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.

  • conversion-report-folder: especifica la carpeta en la que se puede almacenar el informe de evaluación. (atributo opcional)

  • object-name: especifica los objetos de origen considerados para convertir el esquema (admite nombres de objeto individuales o un nombre de objeto de grupo).

  • object-type: especifica el tipo del objeto que se llama en el atributo object-name (si se especifica la categoría de objeto, el tipo de objeto es "category").

  • conversion-report-overwrite: especifica si se va a sobrescribir la carpeta del informe de evaluación si ya existe.

    Valor predeterminado: false. (atributo opcional)

  • write-summary-report-to: especifica la ruta de acceso en la que se genera el informe de resumen.

    Si solo se menciona la ruta de acceso de la carpeta, se crea el archivo por nombre SchemaConversionReport<n>.xml . (atributo opcional)

    La creación de informes tiene dos subcategorías adicionales:

    • report-errors (="true/false", con el valor predeterminado como "false" (atributos opcionales))

    • verbose (="true/false", con el valor predeterminado como "false" (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-name>"
    object-type="<object-category>"/>
</convert-schema>

Comando migrate-data

Este comando migra los datos de origen al destino.

  • object-name: especifica los objetos de origen considerados para migrar datos (admite nombres de objeto individuales o un nombre de objeto de grupo).

  • object-type: especifica el tipo del objeto que se llama en el atributo object-name (si se especifica la categoría de objeto, el tipo de objeto es "category").

  • write-summary-report-to: indica la ruta de acceso donde se genera el informe.

    Si solo se menciona la ruta de acceso de la carpeta, se crea el archivo por nombre DataMigrationReport<n>.xml . (atributo opcional)

    La creación de informes tiene dos subcategorías adicionales:

    • report-errors (="true/false", con el valor predeterminado como "false" (atributos opcionales))

    • verbose (="true/false", con el valor predeterminado como "false" (atributos opcionales))

Ejemplo de sintaxis

<migrate-data
  write-summary-report-to="<file-name/folder-name>"
  report-errors="<true/false>" verbose="<true/false>">
    <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/false>" verbose="<true/false>"/>

Comando de preparación de la migración

El comando Preparación de la migración inicia la asignación de esquemas entre las bases de datos de origen y de destino.

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

Este comando proporciona el mapeo de esquemas de la base de datos de origen al esquema de destino.

  • source-schema Especifica el esquema de origen para migrar.

  • sql-server-schema Especifica el esquema de destino al que se migra el esquema de origen.

Ejemplo de sintaxis

<map-schema source-schema="<source-schema>"
sql-server-schema="<target-schema>"/>

Comandos de manejabilidad

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

Este comando 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 la conexión de la base de datos de destino no se realiza antes de ejecutar este comando o se produce un error en la conexión con el servidor de base de datos de destino durante la ejecución del comando, se genera un error y se cierra la aplicación de consola.

  • object-name: especifica los objetos de destino que se consideran para sincronizarse con la base de datos de destino (admite nombres de objeto individuales o un nombre de objeto de grupo).

  • object-type: especifica el tipo del objeto que se llama en el atributo object-name (si se especifica la categoría de objeto, el tipo de objeto es "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 da la ruta de acceso de la carpeta, se crea un archivo por el nombre de 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/folder-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

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

Este comando requiere uno o varios nodos de metabase como parámetro de línea de comandos.

  • object-name: especifica los objetos de origen que se consideran para actualizar desde la base de datos de origen (admite 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 es "category").

  • on-error: especifica si se deben denominar los errores de actualizació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 da la ruta de acceso de la carpeta, se crea un archivo por el nombre de SourceDBRefreshReport.xml .

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/folder-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 generación de scripts

Los comandos de generación de scripts realizan tareas duales: 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=target. Se trata de una alternativa al comando de sincronización, en el que obtenemos los scripts y ejecutamos lo mismo en la base de datos de destino.

Este comando requiere 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 (admite nombres de objeto individuales o un nombre de objeto de grupo).

  • object-type: especifica el tipo del objeto que se llama en el atributo object-name (si se especifica la categoría de objeto, el tipo de objeto es "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 proporciona el nombre de archivo, se proporciona un nombre de archivo con el formato (object_name attribute value).out .

  • overwrite: Si es verdadero, entonces sobrescribirá el mismo nombre de archivo si existe. Puede tener los valores (true/false).

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

Este comando convierte la instrucción SQL.

  • 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 en la que se puede almacenar 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: false. (atributo opcional)

  • write-converted-sql-to especifica la ruta de acceso del archivo o carpeta en la que se debe guardar el T-SQL convertido. Cuando se especifica una ruta de acceso de carpeta junto con el atributo sql-files, cada archivo de origen tiene un archivo T-SQL de destino correspondiente creado en la carpeta especificada. Cuando se especifica una ruta de acceso de carpeta junto con el atributo sql, el T-SQL convertido se escribe en un archivo denominado Result.out dentro de la carpeta especificada.

  • sql especifica las instrucciones sql de Sybase 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 genera el informe de resumen. Si solo se menciona la ruta de acceso de la carpeta, se crea el archivo por nombre ConvertSQLReport.xml . (atributo opcional)

    La creación de informes de resumen tiene dos subcategorías adicionales, es decir:

    • report-errors (="true/false", con el valor predeterminado como "false" (atributos opcionales)).

    • verbose (="true/false", con el valor predeterminado como "false" (atributos opcionales)).

Este comando requiere uno o varios nodos de metabase como parámetro de línea de comandos.

Ejemplo de sintaxis

<convert-sql-statement
       context="<database-name>.<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="<database-name>.<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="<database-name>.<schema-name>"
         conversion-report-folder="<folder-name>"
         conversion-report-overwrite="<true/false>"
         sql-files="<folder-name>\*.sql"
/>