Compartilhar via


Executar o console do SSMA (MySQLToSQL)

A Microsoft fornece um conjunto robusto de comandos de arquivo de script para executar e controlar atividades do SSMA.

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

Comandos do arquivo de script do Project

Comando

create-new-project:
Cria um projeto SSMA.

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

Script

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

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

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

  4. Atributo opcional project-type:. 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>"   (optional)  
  
/>  

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

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

Comando

open-project:
Abre um projeto existente.

Script

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

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

Importante

Nota: o SSMA para o aplicativo de console do MySQL oferece suporte à compatibilidade com versões anteriores. Você poderá abrir projetos criados pela versão anterior do SSMA.

Comando

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

Script

Exemplo de sintaxe:

<save-project/>  

Comando

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

Script

Exemplo de sintaxe:

<save-project/>  

Comando

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

Script

Exemplo de sintaxe:

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

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

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

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

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

  2. Os parâmetros windows-authentication e port não são aplicáveis ao se conectar ao SQL Azure.

  3. Para obter mais informações sobre “Como criar arquivos de script”, consulte Criar arquivos de script (MySQLToSQL).

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

Script

A definição de 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/target-database

  • Carrega os metadados de origem.

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

  • Se a conexão com a origem/destino não puder ser estabelecida, será gerado um erro 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 metabase="<source/target>"  
  
      <metabase-object object-name="<object-name>"/>  
  
</force-load>  

Comando

reconnect-source-database

  1. Reconecta-se ao banco de dados de origem, mas não carrega nenhum metadado, ao contrário do comando connect-source-database.

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

Script

Exemplo de sintaxe:

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

Comando

connect-target-database

  1. Conecta-se ao SQL Server de destino ou ao Banco de Dados SQL do Azure e carrega metadados de alto nível do banco de dados de destino, mas não a totalidade dos metadados.

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

Script

A definição de 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

  1. Reconecta-se ao banco de dados de destino, mas não carrega nenhum metadado, ao contrário do comando connect-target-database.

  2. Se a (re)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

Exemplo de sintaxe:

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

Comandos do arquivo de script de relatório

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

Comando

generate-assessment-report

  1. Gera relatórios de avaliação no banco de dados de origem.

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

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

  1. assessment-report-folder: especifica a pasta onde o relatório de avaliação será armazenado. (atributo opcional)

  2. object-name: Especifica os objetos considerados para a geração do relatório de avaliação (pode ter nomes de objetos individuais ou um nome de objeto de grupo).

  3. 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”).

  4. assessment-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)

  5. write-summary-report-to: especifica o caminho onde o relatório de resumo será gerado.

    Se apenas o caminho da pasta for mencionado, será criado o arquivo pelo nome AssessmentReport<n>.XML. (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)  
  
   conversion-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 de migração do arquivo de script

Os comandos de migração convertem o esquema de banco de dados de destino para o esquema de origem e migram os 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 um relatório de erros detalhado: apenas um resumo no nó raiz da árvore de objetos de origem.

Comando

convert-schema

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

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

Script

  1. conversion-report-folder: especifica a pasta onde o relatório de avaliação será armazenado. (atributo opcional)

  2. object-name: especifica os objetos considerados para converter o esquema (pode ter nomes de objetos individuais ou um nome de objeto de grupo).

  3. 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”).

  4. 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)

  5. write-summary-report-to: especifica o caminho onde o relatório de resumo será gerado.

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

    A criação de relatórios de resumo 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-names>"  
  
         object-type="<object-category>"/>  
  
</convert-schema>  

Comando

migrate-data

  1. Migra os dados da origem para o destino.

Script

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

  2. 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”).

  3. write-summary-report-to: especifica o caminho onde o relatório de resumo será gerado.

    Se apenas o caminho da pasta for mencionado, será criado o arquivo pelo nome DataMigrationReport<n>.XML. (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" 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>  

ou

<migrate-data  
  
   object-name="<object-name>"  
  
   object-type="<object-category>"  
  
   write-summary-report-to="<file-name/folder-name>"  
  
   report-errors="true" verbose="true"/>  

Comando do arquivo de script de 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.

Comando

map-schema

Mapeamento de esquema do banco de dados de origem para o esquema de destino.

Script

  1. source-schema especifica o esquema de origem que pretendemos migrar.

  2. sql-server-schema especifica o esquema de destino para onde queremos que ele seja migrado.

Exemplo de sintaxe:

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

Comandos de arquivo de script da capacidade de gerenciamento

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

Observação

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

Comando

synchronize-target

  1. Sincroniza os objetos de destino com o banco de dados de destino.

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

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

Script

  1. object-name: especifica os objetos considerados para sincronização com o banco de dados de destino (Ele pode ter nomes de objetos individuais ou um nome de objeto de grupo).

  2. 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”).

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

    • report-total-as-warning

    • report-each-as-warning

    • fail-script

  4. 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>"   (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

  1. Atualiza os objetos de origem do banco de dados.

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

Script

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

  2. 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").

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

    • report-total-as-warning

    • report-each-as-warning

    • fail-script

  4. report-errors-to: especifica o local do relatório de erros para a operação de sincronização (atributo opcional), se for fornecido apenas o caminho da pasta, e, em seguida, um arquivo com o nome SourceDBRefreshReport.XML será criado.

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

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>"   (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 para a 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

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 executados no banco de dados de destino.

Script

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

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

  2. 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”).

  3. metabase: especifica se é a metabase de origem ou de destino.

  4. 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 attribute value).out será fornecido

  5. overwrite: se for verdadeiro, o mesmo nome de arquivo será substituído, caso exista. Pode ter os valores (true/false).

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>  

Comando

convert-sql-statement

  1. context especifica o nome do esquema.

  2. 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)

  3. conversion-report-folder especifica a pasta onde o relatório de avaliação será armazenado. (atributo opcional)

  4. 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)

  5. 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 for especificado junto com o atributo sql-files, cada arquivo de origem terá um arquivo T-SQL de destino correspondente criado na pasta especificada. Quando um caminho de pasta fot especificado junto com o atributo sql, o T-SQL convertido será gravado em um arquivo chamado Result.out na pasta especificada.

  6. sql especifica as instruções SQL do MySQL a serem convertidas. Uma ou mais instruções podem ser separadas usando ";"

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

  8. 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 tem mais 2 subcategorias, ou seja:

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

    • verbose (=“true/false”, com padrão como “falso” (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)  
  
   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="<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="<schema-name>"  
  
   conversion-report-folder="<folder-name>"  
  
   conversion-report-overwrite="<true/false>"  
  
   sql-files="<folder-name>\*.sql"  
  
/>  

Próxima etapa

Para obter informações sobre as opções de linha de comando, confira Opções de linha de comando no console do SSMA (MySQLToSQL).

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

A próxima etapa depende dos requisitos do seu projeto:

  1. Para especificar uma senha ou exportar/importar senhas, confira Gerenciar senhas (MySQLToSQL).

  2. Para gerar relatórios, consulte Gerar relatórios (MySQLToSQL).

  3. Para solucionar problemas no console, confira Solução de problemas (MySQLToSQL).