Compartilhar via


Executar o console do SSMA (Db2ToSQL)

A Microsoft fornece um conjunto robusto de comandos de arquivo de script para executar e controlar as atividades do SSMA (Assistente de Migração do SQL Server). As seções a seguir detalham o mesmo. O aplicativo de console usa determinados comandos de arquivo de script padrão, conforme enumerado nesta seção.

Comandos do arquivo de script do projeto

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

Comando

create-new-project: Cria um novo projeto do SSMA.

Script

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

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

  • overwrite-if-existsO atributo opcional indica se um projeto existente deve ser substituído. {booleano}

  • Atributo opcional project-type:. Indica o tipo de projeto. Por exemplo, sql-server-2019 ou sql-azure. O padrão é sql-server-2016.

Exemplo:

<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-azure>"   (optional)
/>

O atributo overwrite-if-exists é false por padrão.

O atributo project-type é sql-server-2016 por padrão.

Comando

open-project: Abre um projeto existente.

Script

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

O SSMA para Aplicativo de Console Db2 dá suporte à compatibilidade com versões anteriores. Você pode abrir projetos criados pela versão anterior do SSMA.

Comando

save-project: Salva o projeto de migração.

Exemplo de sintaxe:

<save-project/>

Comando

close-project: Fecha o projeto de migração.

Exemplo de sintaxe:

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

Comandos do arquivo de script de conexão do banco de dados

Os comandos Conexão de Banco de Dados ajudam na conexão ao banco de dados.

  • O recurso Procurar da interface do usuário não é suportado no console.

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

Comando

connect-source-database

  • 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 origem não puder ser estabelecida, será gerado um erro e o aplicativo de console interromperá a execução adicional

Script

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

Exemplo de sintaxe:

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

Comando

force-load-source-database/force-load-target-database

  • Carrega os metadados de origem.

  • Útil para trabalhar offline em projetos de migração.

  • 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

Script

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

Exemplo de sintaxe:

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

Ou

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

Comando

reconnect-source-database

  • Reconecta-se ao banco de dados de origem, mas não carrega nenhum metadado, 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.

Exemplo de sintaxe:

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

Comando

connect-target-database

  • Conecta-se ao banco de dados do SQL Server de destino e carrega metadados de alto nível do banco de dados de destino, mas não todos os metadados.

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

Script

A definição do servidor é recuperada do atributo name definido para cada conexão na seção servidor do arquivo de conexão do servidor ou do arquivo de script

Exemplo de sintaxe:

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

Comando

reconnect-target-database

  • Reconecta-se ao banco de dados de destino, mas não carrega nenhum metadado, 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.

Exemplo de sintaxe:

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

Comandos do arquivo de script de relatório

Os comandos Relatório geram relatórios sobre o desempenho de várias atividades do console do SSMA.

Comando

generate-assessment-report

  • Gera relatórios de avaliação sobre o banco de dados de origem.

  • Se a conexão do banco de dados de origem não for executada antes da execução desse 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.

Script

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

  • object-name: Especifica os objetos considerados para geração de relatório de avaliação (pode ter 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).

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

    Valor padrão: falso. (atributo opcional)

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

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

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

    • report-errorstrue ou false, com padrão como false (atributos opcionais)
    • verbosetrue ou 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>"   (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
   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 do arquivo de script de migração

Os comandos Migração convertem o esquema do banco de dados de destino para o esquema de origem e migram dados para o servidor de destino. A configuração de saída do console padrão para os comandos de migração é o relatório de saída “Completo” sem relatório de erros detalhado: apenas com o resumo no nó raiz da árvore de objetos de origem.

Comando

convert-schema

  • Executa a conversão do esquema de origem para o esquema de destino.

  • Se a conexão de 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, será gerado um erro e o aplicativo de console será encerrado.

Script

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

  • object-name: Especifica os objetos de origem considerados para converter o esquema (pode ter 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).

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

    Valor padrão: falso. (atributo opcional)

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

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

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

    • report-errorstrue ou false, com padrão como false (atributos opcionais)

    • verbosetrue ou 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>

Comando

migrate-data: migra os dados de origem para o destino.

Script

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

  • object-name: Especifica os objetos de origem considerados para migração de dados (pode ter 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).

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

    Valor padrão: falso. (atributo opcional)

  • write-summary-report-to: Especifica o caminho em que o relatório de resumo é 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-errorstrue ou false, com padrão como false (atributos opcionais)
    • verbosetrue ou 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>"/>

Comandos do arquivo de script de preparação de migração

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

Comando

  • map-schema: Mapeamento de esquema do banco de dados de origem para o esquema de destino.

Script

  • source-schema: Especifica o esquema de origem que pretendemos migrar.
  • sql-server-schema: Especifica o esquema de destino para o qual queremos que ele seja migrado.

Exemplo de sintaxe:

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

Comando

map-schema: Mapeamento de esquema do banco de dados de origem para o esquema de destino.

Script

source-schema especifica o esquema de origem que se pretende migrar.

sql-server-schema especifica o esquema de destino para onde se deseja migrá-lo.

Exemplo de sintaxe:

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

Comandos de arquivo de script de capacidade de gerenciamento

Os comandos da capacidade de gerenciamento ajudam a sincronizar os objetos de banco de dados de destino com o banco de dados de origem.

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

Comando

synchronize-target

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

Script

  • object-name: Especifica os objetos de destino considerados para sincronização com o banco de dados de destino (pode ter 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 sincronização devem ser especificados 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, o arquivo por nome TargetSynchronizationReport.xml será 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>

Comando

refresh-from-database

  • Atualiza os objetos de origem do banco de dados.

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

Script

Requer um ou vários nós de 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 (pode ter 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 especificados 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 atualização (atributo opcional) se apenas o caminho da pasta for fornecido, o arquivo por nome SourceDBRefreshReport.xml será 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 arquivo de script de geração de script

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

Comando

save-as-script: Salve os scripts dos objetos em um arquivo mencionado quando metabase=target. Esta é uma alternativa ao comando de sincronização em que obtemos os scripts e executamos os mesmos no banco de dados de destino.

Script

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

  • object-name: Especifica os objetos cujos scripts devem ser salvos. (Pode ter nomes de objeto 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).

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

  • destination: Especifica o caminho ou a pasta onde o script deve ser salvo, se o nome do arquivo não for fornecido, um nome de arquivo no formato (object_name valor do atributo).out

  • overwrite: se true então ele substitui se o mesmo nome de arquivo 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/folder>"
   overwrite="<true/false>"   (optional)
/>

Ou

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

Comando

convert-sql-statement

  • 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 onde 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: falso. (atributo opcional)

  • write-converted-sql-to especifica o caminho do arquivo (ou) da pasta onde 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 nomeado Result.out na pasta especificada.

  • sql especifica as instruções SQL do Db2 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 em que o relatório é 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 tem mais duas subcategorias:

    • report-errors: true ou false, com padrão como false (atributos opcionais)
    • verbose: true ou false, com padrão como false (atributos opcionais)

Script

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

Exemplo de sintaxe:

<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)
   file-name="<file-name>"
   sql="SELECT 1 FROM DUAL;">
   <output-window suppress-messages="<true/false>" />
</convert-sql-statement>

Ou

<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>"
   destination="<stdout/file>"   (optional)
   write-converted-sql-to="<file-name/folder-name>"
   sql-files="<folder-name>\*.sql" />

Ou

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