Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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).
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
create-new-project comando
Cria um novo projeto SSMA.
Os comandos do Project lidam com a criação de projetos, abrindo, salvando e saindo de projetos.
Script
project-folder: indica a pasta do projeto que está sendo criado.project-name: indica o nome do projeto. {string}overwrite-if-exists: atributo opcional. Indica se um projeto existente deve ser substituído. {boolean}project-type: atributo opcional. Indica o tipo de projeto, ou seja, ,sql-server-2016sql-server-2017, ,sql-server-2019,sql-server-2022,sql-server-2025ousql-azure. O padrã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>" (optional)
/>
O atributo overwrite-if-exists é false por padrão.
O atributo project-type é sql-server-2016 por padrão.
open-project comando
Abre um projeto existente.
Script
project-folderindica a pasta do projeto que está sendo criado. O comando falhará se a pasta especificada não existir. {string}project-nameindica 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
O aplicativo de console SSMA for MySQL dá suporte à compatibilidade com versões anteriores. Você pode abrir projetos criados pela versão anterior do SSMA.
save-project comando
Salva o projeto de migração.
Exemplo de sintaxe
<save-project/>
close-project comando
Fecha o projeto de migração.
Exemplo de sintaxe
<save-project/>
Ou:
<close-project
if-modified="<save/error/ignore>" (optional)
/>
O atributo if-modified é opcional, ignore por padrão.
Comandos de arquivo de script de conexão de banco de dados
Os comandos de Conexão de Banco de Dados ajudam a se conectar ao banco de dados.
O recurso Procurar da interface do usuário não é suportado no console.
Os windows-authentication parâmetros e os parâmetros port não são aplicáveis ao se conectar ao SQL Azure.
Para obter mais informações, consulte Criando arquivos de script.
connect-source-database 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 de console interromperá a execução adicional.
Script
A definição do servidor é recuperada do atributo de nome definido para cada conexão, na seção do servidor do arquivo de conexão do servidor ou no arquivo de script.
Exemplo de sintaxe
<connect-source-database server="<server-unique-name>"/>
force-load-source/target-database comando
Carrega os metadados de origem.
Ú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.
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>
reconnect-source-database comando
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>"/>
connect-target-database comando
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 totalmente 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 de nome definido para cada conexão, na seção do servidor do arquivo de conexão do servidor ou no arquivo de script.
Exemplo de sintaxe
<connect-target-database server="<server-unique-name>"/>
reconnect-target-database comando
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 de relatório geram relatórios sobre o desempenho de várias atividades do Console do SSMA.
generate-assessment-report 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.
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
assessment-report-folder: especifica a pasta em que o relatório de avaliação é armazenado. (atributo opcional)object-name: especifica os objetos considerados para a geração de relatório de avaliação (ele pode ter nomes de objeto individuais ou um nome de objeto de grupo).object-type: especifica o tipo do objeto especificado no atributo de nome do objeto (se a categoria de objeto for especificada, o tipo de objeto será "category").assessment-report-overwrite: especifica se a pasta de relatório de avaliação deve ser substituída se ela já existir.Valor padrão: false. (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
AssessmentReport<n>.xmlserá criado. (atributo opcional)A criação de relatórios tem mais duas subcategorias:
-
report-errors(="true/false", com o padrão como "false" (atributos opcionais)) -
verbose(="true/false", com o 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 do arquivo de script de migração
Os comandos de migração convertem o esquema de banco de dados de destino no esquema de origem e migram dados para o servidor de destino.
A configuração padrão de saída do console para os comandos de migração é um relatório de saída 'Completo', sem relatórios de erro detalhados: apenas um resumo no nó raiz da árvore de objetos de origem.
convert-schema comando
Executa a conversão de esquema da origem para o esquema de destino.
Se a conexão de banco de dados de origem ou de destino não for executada antes de executar esse comando ou 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
conversion-report-folder: especifica a pasta em que o relatório de avaliação é armazenado. (atributo opcional)object-name: especifica os objetos considerados para converter o esquema (ele pode ter nomes de objeto individuais ou um nome de objeto de grupo).object-type: especifica o tipo do objeto especificado no atributo de nome do objeto (se a categoria de objeto for especificada, o tipo de objeto será "category").conversion-report-overwrite: especifica se a pasta de relatório de avaliação deve ser substituída se ela já existir.Valor padrão: false. (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
SchemaConversionReport<n>.xmlserá criado. (atributo opcional)A criação do relatório de resumo tem duas subcategorias adicionais:
-
report-errors(="true/false", com o padrão como "false" (atributos opcionais)) -
verbose(="true/false", com o 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>
migrate-data comando
Migra os dados de origem para o destino.
Script
object-name: especifica os objetos de origem considerados para migrar dados (ele pode ter nomes de objeto individuais ou um nome de objeto de grupo).object-type: especifica o tipo do objeto especificado no atributo de nome do objeto (se a categoria de objeto for especificada, o tipo de objeto será "category").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>.xmlserá criado. (atributo opcional)A criação de relatórios tem mais duas subcategorias:
-
report-errors(="true/false", com o padrão como "false" (atributos opcionais)) -
verbose(="true/false", com o 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 de arquivo de script de preparação de migração
O comando Preparação de Migração inicia o mapeamento de esquema entre os bancos de dados de origem e de destino.
map-schema comando
Mapeamento de esquema do banco de dados de origem para o esquema de destino.
Script
-
source-schemaespecifica o esquema de origem que pretendemos migrar. -
sql-server-schemaespecifica 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 de capacidade de gerenciamento
Os comandos manageability ajudam a sincronizar os objetos de banco de dados de destino com o banco de dados de origem.
A configuração padrão de saída do console para os comandos de migração é um relatório de saída 'Completo', sem relatórios de erro detalhados: apenas um resumo no nó raiz da árvore de objetos de origem.
synchronize-target 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 de banco de dados de destino não for executada antes de executar esse comando ou 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 considerados para sincronização com o banco de dados de destino (ele pode ter nomes de objeto individuais ou um nome de objeto de grupo).object-type: especifica o tipo do objeto especificado no atributo de nome do objeto (se a categoria de 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 em caso de erro:report-total-as-warningreport-each-as-warningfail-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 pelo nome será
TargetSynchronizationReport.xmlcriado.
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>
refresh-from-database 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.
Script
object-name: especifica os objetos de origem considerados para atualização do banco de dados de origem (ele pode ter nomes de objeto individuais ou um nome de objeto de grupo).object-type: especifica o tipo do objeto especificado no atributo de nome do objeto (se a categoria de 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 em caso de erro:report-total-as-warningreport-each-as-warningfail-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 pelo nome será
SourceDBRefreshReport.xmlcriado.
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 geração de arquivos de script
Os comandos geração de script executam tarefas duplas: eles ajudam a salvar a saída do console em um arquivo de script; e registre a saída T-SQL no console ou em um arquivo com base no parâmetro especificado.
save-as-script comando
Usado para salvar os scripts dos objetos em um arquivo especificado quando metabase=target. Essa é uma alternativa ao comando de sincronização, no qual obtemos os scripts e executamos o mesmo 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. (Ele pode ter nomes de objeto individuais ou um nome de objeto de grupo)object-type: especifica o tipo do objeto especificado no atributo de nome do objeto (se a categoria de 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, será gerado um nome de arquivo no formato (object_name atributo valor).out.overwrite: se verdadeiro, ele sobrescreverá se o mesmo nome de arquivo existir. Ele 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
contextespecifica o nome do esquema.destinationespecifica 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-folderespecifica a pasta em que o relatório de avaliação é armazenado. (atributo opcional)conversion-report-overwriteespecifica se a pasta de relatório de avaliação deve ser substituída se ela já existir.Valor padrão: false. (atributo opcional)
write-converted-sql-toespecifica o caminho da pasta do arquivo (ou) em que o T-SQL convertido deve ser armazenado. Quando um caminho de pasta é especificado junto com o atributosql-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 osqlatributo, o T-SQL convertido é gravado em um arquivo chamado Result.out na pasta especificada.sqlespecifica as instruções sql MySQL a serem convertidas, uma ou mais instruções podem ser separadas usando um ";"sql-filesespecifica o caminho dos arquivos sql que precisam ser convertidos em código T-SQL.write-summary-report-toespecifica o caminho em que o relatório de resumo é gerado. Se apenas o caminho da pasta for mencionado, o arquivo por nomeConvertSQLReport.xmlserá 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)).
-
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"
/>