Compartilhar via


Executar o console do SSMA (SybaseToSQL)

A Microsoft fornece um conjunto robusto de comandos de arquivo de script para executar e controlar as atividades do SSMA. As seções a seguir 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

Esse comando cria um projeto SSMA.

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

  • project-type:Atributo opcional. Indica o tipo de projeto, ou seja, projeto "sql-server-2005" ou projeto "sql-server-2008" ou projeto "sql-server-2012" ou projeto "sql-server-2014" ou projeto "sql-azure". O padrão é "sql-server-2008".

Exemplo de sintaxe:

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

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

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

open-project

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

Nota

O aplicativo do console do SSMA para SAP ASE tem compatibilidade com versões anteriores. Você pode usá-lo para abrir projetos criados pela versão anterior do SSMA.

save-project

Esse comando salva o projeto de migração.

Exemplo de sintaxe:

<save-project/>  

close-project

Esse 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 de conexão de banco de dados ajudam a se conectar ao banco de dados.

Nota

connect-source-database

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

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

Exemplo de sintaxe:

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

force-load-source/target-database

Esse comando carrega os metadados de origem e é útil para trabalhar offline no projeto 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.

Esse comando requer um ou vários nós de 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

Esse comando se reconecta 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>"/>  

connect-target-database

Esse comando se conecta ao banco de dados do SQL Server de destino e carrega os 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, um erro será gerado e o aplicativo de console interromperá a execução.

A definição do servidor é recuperada do atributo name definido para cada conexão na seção server 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

Esse comando se reconecta 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 de relatório

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

generate-assessment-report

Esse comando gera relatórios de avaliação no 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.

Uma falha na conexão com o 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 o(s) objeto(s) considerado(s) para a geração de relatório de avaliação (oferece suporte a nomes de objetos individuais ou a 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á "categoria").

  • 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 no qual o relatório será 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-errors (="verdadeiro/falso", com padrão como "falso" (atributos opcionais))

    • verbose (="verdadeiro/falso", com padrão como "falso" (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 Migração convertem o esquema do banco de dados de destino para o esquema de origem e migram dados para o servidor de destino.

convert-schema

Esse comando executa a conversão de esquema da 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 o(s) objeto(s) de origem considerado(s) para converter esquemas (oferece suporte a nomes de objetos individuais ou a 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á "categoria").

  • 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 no qual o relatório de resumo será 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-errors (="verdadeiro/falso", com padrão como "falso" (atributos opcionais))

    • verbose (="verdadeiro/falso", com padrão como "falso" (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

Esse comando migra os dados da origem para o destino.

  • object-name: especifica o(s) objeto(s) de origem considerado(s) para migrar dados (oferece suporte a nomes de objetos individuais ou a um nome de objeto de grupo).

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

  • write-summary-report-to: especifica o caminho no qual o relatório será gerado.

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

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

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

    • verbose (="verdadeiro/falso", com padrão como "falso" (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.

Nota

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.

map-schema

Esse 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 será migrado.

Exemplo de sintaxe:

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

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

Nota

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.

synchronize-target

Esse 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 o(s) objeto(s) de destino considerado(s) para sincronização com o banco de dados de destino (oferece suporte a nomes de objetos individuais ou a 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á "categoria").

  • 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, um arquivo com o 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>  

refresh-from-database

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

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

  • object-name: especifica o(s) objeto(s) de origem considerado(s) para atualização do banco de dados de origem (oferece suporte a nomes de objetos individuais ou a um nome de objeto de grupo).

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

  • on-error: especifica se os erros de atualização devem ser chamados de 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, um arquivo com o 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 geração de script

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

save-as-script

Esse comando é usado para salvar os scripts dos objetos em um arquivo mencionado quando metabase=target. Esta é uma alternativa ao comando de sincronização em que os scripts são obtidos e executamos no banco de dados de destino.

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

  • object-name: especifica o(s) objeto(s) cujos scripts devem ser salvos (oferece suporte a nomes de objetos individuais ou a 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á "categoria").

  • 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 for verdadeiro, o mesmo nome de arquivo será substituído, se ele 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

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

  • write-converted-sql-to especifica o caminho do arquivo (ou) da 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 atributo sql, o T-SQL convertido é gravado em um arquivo chamado Result.out na pasta especificada.

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

  • 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 será gerado. Se for mencionado apenas o caminho da pasta, um arquivo com o nome ConvertSQLReport.XML será criado. (atributo opcional)

    A criação de relatórios de resumo tem mais duas subcategorias, ou seja:

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

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

Esse comando requer um ou vários nós de 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"  
  
/>  

Próximas etapas

Para obter informações sobre as opções de linha de comando, veja Opções de linha de comando no Console do SSMA (AccessToSQL).

Para obter informações sobre um exemplo de arquivo de script de console, veja Trabalhando com os exemplos de arquivos de script de console (SybaseToSQL)

A próxima etapa depende dos requisitos do projeto: