Partilhar via


Executando o console SSMA (SybaseToSQL)

A Microsoft fornece um conjunto robusto de comandos de arquivo de script para executar e controlar atividades do Assistente de Migração do SQL Server (SSMA). As secções seguintes detalham o mesmo.

Comandos de arquivo de script

O aplicativo de console usa determinados comandos de arquivo de script padrão, conforme enumerado nesta seção.

Comandos do projeto

Os comandos Project lidam com a criação de projetos, abertura, salvamento e saída de projetos.

create-new-project comando

Este comando cria um novo projeto SSMA.

  • project-folder indica a pasta do projeto que está sendo criado.

  • project-name indica o nome do projeto. {string}

  • overwrite-if-exists O atributo opcional indica se um projeto existente deve ser substituído. {Booleano}

  • project-type: Atributo opcional. Indica o tipo de projeto, ou seja, sql-server-2016, , sql-server-2017, sql-server-2019, sql-server-2022, sql-server-2025, ou sql-azure. A predefinição é sql-server-2016.

Exemplo de sintaxe

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

O atributo overwrite-if-exists é false por defeito.

O atributo project-type é sql-server-2016 por defeito.

open-project comando

Este comando abre o projeto.

  • project-folder indica a pasta do projeto que está sendo criado. O comando falhará se a pasta especificada não existir. {string}

  • project-name indica o nome do projeto. O comando falhará se o projeto especificado não existir. {string}

Exemplo de sintaxe

<open-project
  project-folder="<project-folder>"
  project-name="<project-name>"
/>

Observação

O SSMA for SAP ASE Console Application suporta compatibilidade com versões anteriores. Você pode usá-lo para abrir projetos criados pela versão anterior do SSMA.

save-project comando

Este comando salva o projeto de migração.

Exemplo de sintaxe

<save-project/>

close-project comando

Este comando fecha o projeto de migração.

Exemplo de sintaxe

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

O atributo if-modified é opcional, ignore por padrão.

Comandos de conexão de banco de dados

Os comandos Conexão de Banco de Dados ajudam a se conectar ao banco de dados.

O recurso Procurar da interface não é suportado no console.

Para obter mais informações, consulte Criando arquivos de script.

connect-source-database comando

Esse comando executa a conexão com o banco de dados de origem e carrega metadados de alto nível do banco de dados de origem, mas não todos os metadados.

Se a conexão com a fonte não puder ser estabelecida, um erro será gerado e o aplicativo de console interromperá a execução.

A definição do servidor é recuperada a partir do atributo de nome definido para cada ligação na secção do servidor do ficheiro de conexão do servidor ou do ficheiro de script.

Exemplo de sintaxe

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

force-load-source/target-database comando

Este comando carrega os metadados de origem e é útil para trabalhar no projeto de migração offline.

Se a conexão com a origem/destino não puder ser estabelecida, um erro será gerado e o aplicativo de console interromperá a execução adicional.

Este comando requer um ou vários nós da metabase como parâmetro de linha de comando.

Exemplo de sintaxe

<force-load metabase="<source/target>" >
  <metabase-object object-name="<object-name>"/>
</force-load>

reconnect-source-database comando

Esse comando se reconecta ao banco de dados de origem, mas não carrega nenhum metadados, ao contrário do comando connect-source-database.

Se a (re)conexão com a origem não puder ser estabelecida, um erro será gerado e o aplicativo de console interromperá a execução adicional.

Exemplo de sintaxe

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

connect-target-database comando

Esse comando se conecta ao banco de dados SQL Server de destino e carrega metadados de alto nível do banco de dados de destino, mas não totalmente os metadados.

Se a conexão com o destino não puder ser estabelecida, um erro será gerado e o aplicativo de console interromperá a execução.

A definição do servidor é recuperada do atributo nome definido para cada conexão, na secção de servidor do arquivo de conexão do servidor ou do arquivo de script.

Exemplo de sintaxe

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

reconnect-target-database comando

Esse comando se reconecta ao banco de dados de destino, mas não carrega nenhum metadados, ao contrário do comando connect-target-database.

Se a (re)conexão com o destino não puder ser estabelecida, um erro será gerado e o aplicativo de console interromperá a execução adicional.

Exemplo de sintaxe

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

Comandos de relatório

Os comandos Report geram relatórios sobre o desempenho de várias atividades do Console SSMA.

generate-assessment-report comando

Este comando gera relatórios de avaliação na base de dados de origem.

Se a conexão do banco de dados de origem não for executada antes de executar esse comando, um erro será gerado e o aplicativo de console será encerrado.

A falha ao se conectar ao servidor de banco de dados de origem durante a execução do comando também resulta no encerramento do aplicativo de console.

  • conversion-report-folder: Especifica a pasta na qual o relatório de avaliação pode ser armazenado. (atributo opcional)

  • object-name: Especifica os objetos considerados para a geração de relatórios de avaliação (suporta nomes de objetos individuais ou um nome de objeto de grupo).

  • object-type: Especifica o tipo do objeto chamado no atributo object-name (se a categoria do objeto for especificada, o tipo de objeto será "category").

  • conversion-report-overwrite: Especifica se a pasta do relatório de avaliação deve ser substituída, caso ela já exista.

    Valor padrão: false. (atributo opcional)

  • write-summary-report-to: Especifica o caminho no qual o relatório é gerado.

    Se apenas o caminho da pasta for mencionado, o arquivo por nome AssessmentReport<n>.xml será criado. (atributo opcional)

    A criação de relatórios tem mais duas subcategorias:

    • report-errors (="true/false", com padrão como "false" (atributos opcionais))

    • verbose (="true/false", com padrão como "false" (atributos opcionais))

Exemplo de sintaxe

<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)
/>

Ou:

<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 migração

Os comandos Migration convertem o esquema do banco de dados de destino no esquema de origem e migram dados para o servidor de destino.

convert-schema comando

Este comando executa a conversão de esquema do esquema de origem para o esquema de destino.

Se a conexão do banco de dados de origem ou de destino não for executada antes da execução desse comando, ou se a conexão com o servidor de banco de dados de origem ou de destino falhar durante a execução do comando, um erro será gerado e o aplicativo de console será encerrado.

  • conversion-report-folder: Especifica a pasta na qual o relatório de avaliação pode ser armazenado. (atributo opcional)

  • object-name: Especifica os objetos de origem considerados para a conversão de esquema (suporta nomes de objetos individuais ou um nome de objeto de grupo).

  • object-type: Especifica o tipo do objeto chamado no atributo object-name (se a categoria do objeto for especificada, o tipo de objeto será "category").

  • conversion-report-overwrite: Especifica se a pasta do relatório de avaliação deve ser substituída, caso ela já exista.

    Valor padrão: false. (atributo opcional)

  • write-summary-report-to: Especifica o caminho no qual o relatório de resumo é gerado.

    Se apenas o caminho da pasta for mencionado, o arquivo por nome SchemaConversionReport<n>.xml será criado. (atributo opcional)

    A criação de relatórios tem mais duas subcategorias:

    • report-errors (="true/false", com padrão como "false" (atributos opcionais))

    • verbose (="true/false", com padrão como "false" (atributos opcionais))

Exemplo de sintaxe

<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)
/>

Ou:

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

migrate-data comando

Este comando migra os dados de origem para o destino.

  • object-name: Especifica os objetos de origem considerados para migrar dados (suporta nomes de objetos individuais ou um nome de objeto de grupo).

  • object-type: especifica o tipo do objeto destacado no atributo object-name (se a categoria do objeto for especificada, o tipo de objeto será "category").

  • write-summary-report-to: Especifica o caminho no qual o relatório é gerado.

    Se apenas o caminho da pasta for mencionado, o arquivo por nome DataMigrationReport<n>.xml será criado. (atributo opcional)

    A criação de relatórios tem mais duas subcategorias:

    • report-errors (="true/false", com padrão como "false" (atributos opcionais))

    • verbose (="true/false", com padrão como "false" (atributos opcionais))

Exemplo de sintaxe

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

Ou:

<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 Preparação da Migração

O comando Preparação da Migração inicia o mapeamento de esquema entre os bancos de dados de origem e de destino.

Observação

A configuração de saída padrão do console para os comandos de migração é o relatório de saída 'Completo' sem relatório de erros detalhado: apenas resumo no nó raiz da árvore de objetos de origem.

map-schema comando

Este comando fornece o mapeamento de esquema do banco de dados de origem para o esquema de destino.

  • source-schema Especifica o esquema de origem a ser migrado.

  • sql-server-schema Especifica o esquema de destino para o qual o esquema de origem é migrado.

Exemplo de sintaxe

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

Comandos de gerenciabilidade

Os comandos Manageability ajudam a sincronizar os objetos do banco de dados de destino com o banco de dados de origem.

Observação

A configuração de saída padrão do console para os comandos de migração é o relatório de saída 'Completo' sem relatório de erros detalhado: apenas resumo no nó raiz da árvore de objetos de origem.

synchronize-target comando

Este comando sincroniza os objetos de destino com o banco de dados de destino.

Se esse comando for executado no banco de dados de origem, um erro será encontrado.

Se a conexão do banco de dados de destino não for executada antes da execução desse comando ou se a conexão com o servidor de banco de dados de destino falhar durante a execução do comando, um erro será gerado e o aplicativo de console será encerrado.

  • object-name: Especifica os objetos de destino considerados para sincronização com o banco de dados de destino (suporta nomes de objetos individuais ou um nome de objeto de grupo).

  • object-type: Especifica o tipo do objeto chamado no atributo object-name (se a categoria do objeto for especificada, o tipo de objeto será "category").

  • on-error: Especifica se os erros de sincronização devem ser especificados como avisos ou erro. Opções disponíveis para on-error:

    • report-total-as-warning

    • report-each-as-warning

    • fail-script

  • report-errors-to: Especifica o local do relatório de erros para a operação de sincronização (atributo opcional)

    Se apenas o caminho da pasta for fornecido, um arquivo com o nome de TargetSynchronizationReport.xml é criado.

Exemplo de sintaxe

<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)
/>

Ou:

<synchronize-target
  object-name="<object-name>"
  object-type="<object-category>"/>

Ou:

<synchronize-target>
  <metabase-object object-name="<object-name>"/>
  <metabase-object object-name="<object-name>"/>
  <metabase-object object-name="<object-name>"/>
</synchronize-target>

refresh-from-database comando

Este comando atualiza os objetos de origem do banco de dados.

Se esse comando for executado no banco de dados de destino, um erro será gerado.

Este comando requer um ou vários nós da metabase como parâmetro de linha de comando.

  • object-name: Especifica os objetos de origem considerados para atualização do banco de dados de origem (suporta nomes de objetos individuais ou um nome de objeto de grupo).

  • object-type: Especifica o tipo do objeto especificado no atributo object-name (se a categoria do objeto for especificada, o tipo de objeto será "category").

  • on-error: Especifica se os erros de atualização devem ser chamados como avisos ou erros. Opções disponíveis para on-error:

    • report-total-as-warning
    • report-each-as-warning
    • fail-script
  • report-errors-to: Especifica o local do relatório de erros para a operação de sincronização (atributo opcional)

    Se apenas o caminho da pasta for fornecido, um arquivo com o nome de SourceDBRefreshReport.xml é criado.

Exemplo de sintaxe

<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)
/>

Ou:

<refresh-from-database
  object-name="<object-name>"
  object-type="<object-category>" />

Ou:

<refresh-from-database>
  <metabase-object object-name="<object-name>"/>
</refresh-from-database>

Comandos de Geração de Scripts

Os comandos de Geração de Scripts executam duas tarefas: eles ajudam a salvar a saída do console em um arquivo de script e gravam a saída T-SQL no console ou em um arquivo com base no parâmetro especificado.

save-as-script comando

Usado para guardar os scripts dos objetos num ficheiro especificado quando metabase=target. Esta é uma alternativa ao comando de sincronização, no qual obtemos os scripts e executamos os mesmos no banco de dados de destino.

Este comando requer um ou vários nós da metabase como parâmetro de linha de comando.

  • object-name: Especifica os objetos cujos scripts devem ser salvos (suporta nomes de objetos individuais ou um nome de objeto de grupo).

  • object-type: Especifica o tipo do objeto chamado no atributo object-name (se a categoria do objeto for especificada, o tipo de objeto será "category").

  • metabase: Especifica se é a metabase de origem ou de destino.

  • destination: Especifica o caminho ou a pasta na qual o script deve ser salvo. Se o nome do arquivo não for fornecido, um nome de arquivo no formato (object_name attribute value).out será fornecido.

  • overwrite: Se verdadeiro, ele substitui o mesmo nome de arquivo, se existir. Pode ter os valores (verdadeiro/falso).

Exemplo de sintaxe

<save-as-script
  metabase="<source/target>"
  object-name="<object-name>"
  object-type="<object-category>"
  destination="<file-name/folder-name>"
  overwrite="<true/false>"   (optional)
/>

Ou:

<save-as-script
  metabase="<source/target>"
  destination="<file-name/folder-name>"
    <metabase-object object-name="<object-name>"
                     object-type="<object-category>"/>
</save-as-script>

convert-sql-statement comando

Este comando converte a instrução SQL.

  • context Especifica o nome do esquema.

  • destination Especifica se a saída deve ser armazenada em um arquivo.

    Se esse atributo não for especificado, a instrução T-SQL convertida será exibida no console. (atributo opcional)

  • conversion-report-folder Especifica a pasta na qual o relatório de avaliação pode ser armazenado. (atributo opcional)

  • conversion-report-overwrite Especifica se a pasta do relatório de avaliação deve ser substituída, caso ela já exista.

    Valor padrão: false. (atributo opcional)

  • write-converted-sql-to especifica o caminho do arquivo (ou) pasta no qual o T-SQL convertido deve ser armazenado. Quando um caminho de pasta é especificado junto com o atributo sql-files, cada arquivo de origem tem um arquivo T-SQL de destino correspondente criado na pasta especificada. Quando um caminho de pasta é especificado junto com o sql atributo, o T-SQL convertido é gravado em um arquivo chamado Result.out na pasta especificada.

  • sql especifica as instruções Sybase sql a serem convertidas, uma ou mais instruções podem ser separadas usando um ";"

  • sql-files especifica o caminho dos arquivos sql que devem ser convertidos em código T-SQL.

  • write-summary-report-to Especifica o caminho onde o relatório de resumo é gerado. Se apenas o caminho da pasta for mencionado, o arquivo por nome ConvertSQLReport.xml será criado. (atributo opcional)

    A criação de relatórios de síntese tem mais duas subcategorias, a saber:

    • report-errors (="true/false", com 'false' como padrão (atributos opcionais)).

    • verbose (="true/false", com padrão como "false" (atributos opcionais)).

Este comando requer um ou vários nós da metabase como parâmetro de linha de comando.

Exemplo de sintaxe

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

Ou:

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

Ou:

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