Partilhar via


Execução do console do SSMA (AccessToSQL)

A Microsoft fornece um conjunto robusto de comandos de arquivo de script e opções de linha de comando para executar e controlar atividades do Assistente de Migração do SQL Server (SSMA). As seções a seguir detalham a mesma coisa.

Comandos do arquivo de script do projeto

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

create-new-project

Cria um projeto SSMA.

Atributo Valor padrão Descrição Type
project-folder Nenhum Indica a pasta do projeto que está sendo criado. String
project-name Nenhum Indica o nome do projeto. String
overwrite-if-exists false O atributo opcional, indicando se um projeto existente deve ser substituído. Booliano
project-type sql-server-2008 Atributo opcional . As seguintes opções estão disponíveis para project-type:

sql-server-2005
sql-server-2008
sql-server-2012
sql-server-2014
sql-server-2016
sql-azure
String

Sintaxe/exemplo

<create-new-project
  project-folder="<project-folder>"
  project-name="<project-name>"
  overwrite-if-exists="<true | false>"
  project-type="<project-type>"
/>

open-project

Abre um projeto existente.

Atributo Valor padrão Descrição Type
project-folder Nenhum Indica a pasta do projeto que está sendo criado. O comando falhará se a pasta especificada não existir. String
project-name Nenhum Indica o nome do projeto. O comando falhará se o projeto especificado não existir. String

Sintaxe/exemplo

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

Observação

O aplicativo SSMA For Access Console oferece suporte à compatibilidade com versões anteriores. Você pode abrir projetos criados pela versão anterior do SSMA.

save-project

Salva o projeto de migração.

Sintaxe/exemplo

<save-project/>

close-project

Fecha o projeto de migração.

Atributo Valor padrão Descrição Type
if-modified ignore Atributo opcional para especificar o comportamento. Os valores possíveis são: save, error e ignore. String

Sintaxe/exemplo

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

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

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

Para obter mais informações, consulte Criar arquivos de script (AccessToSQL).

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

A definição server é 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.

Sintaxe/exemplo

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

load-access-database

Usado para carregar arquivos de banco de dados de acesso.

Atributo Valor padrão Descrição Type
database-file Nenhum Especifica o caminho para um banco de dados do Access. String

Sintaxe/exemplo

<load-access-database  database-file="<Access-database>"/>

-Ou-

<load-access-database>
  <access-database database-file="<Access-database1>"/>
  <access-database database-file="<Access-database2>"/>
</load-access-database>

Banco de dados de origem ou destino force-load

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.

Requer um ou mais nós metabase como parâmetro de linha de comando.

Atributo Valor padrão Descrição Type
object-name Nenhum Especifica o nome do objeto. String
metabase Nenhum Especifica o caminho para um banco de dados do Access. Os possíveis valores são: source ou target String

Sintaxe/exemplo

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

-Ou-

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

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.

A definição server é 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.

Sintaxe/exemplo

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

connect-target-database

Conecta-se ao SQL Server de destino ou ao Banco de Dados do SQL Azure e carrega metadados de alto nível do banco de dados de destino, mas não a totalidade dos 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.

A definição server é 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.

Sintaxe/exemplo

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

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.

A definição server é 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.

Sintaxe/exemplo

<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

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

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

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

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

  • assessment-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 onde 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))

Sintaxe/exemplo

<generate-assessment-report
  object-name="ssma.Procedures"
  object-type="category"
  write-summary-report-to="<file>"             (optional)
  verbose="<true/false>"                       (optional)
  report-errors="<true/false>"                 (optional)
  conversion-report-folder="<folder>"          (optional)
  conversion-report-overwrite="<true/false>"   (optional)
/>

-Ou-

<generate-assessment-report
  conversion-report-folder="<folder>"            (optional)
  conversion-report-overwrite="<true/false>"     (optional)
>
    <metabase-object object-name="ssma.Procedures"
        object-type="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.

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á "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 onde o relatório 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))

Sintaxe/exemplo

<convert-schema
  object-name="ssma.Procedures"
  object-type="category"
  write-summary-report-to="<filepath/folder>"     (optional)
  verbose="<true/false>"                          (optional)
  report-errors="<true/false>"                    (optional)
  conversion-report-folder="<folder>"             (optional)
  conversion-report-overwrite="<true/false>"      (optional)
/>

-Ou-

<convert-schema
  conversion-report-folder="<folder>"         (optional)
  conversion-report-overwrite="<true/false>"  (optional)
>
  <metabase-object object-name="ssma.Procedures"
    object-type="category"/>
</convert-schema>

migrate-data

Migra os dados da origem para o destino.

Script

  • object-name: especifica os objetos de origem considerados para migrar 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á "categoria").

  • write-summary-report-to: especifica o caminho onde 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))

Sintaxe/exemplo

<migrate-data
  write-summary-report-to="<filepath/folder>"
  report-errors="true" verbose="true">
    <metabase-object object-name="ssma.TT1"/>
    <metabase-object object-name="ssma.TT2"/>
    <metabase-object object-name="ssma.TT3"/>
    <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="ssma.Tables"
  object-type="category"
  write-summary-report-to="<filepath/folder>"
  report-errors="true" verbose="true"/>

Esse comando vincula a tabela de origem (Access) à tabela de destino.

Script

Sintaxe/exemplo

<link-tables>
  <metabase-object object-name="AccessDatabase.table1" object-type="Tables"/>
  <metabase-object object-name="AccessDatabase.table2" object-type="Tables"/>
</link-tables>

-Ou-

<link-tables>
  <metabase-object object-name="AccessDatabase.Tables" object-type="category"/>
</link-tables>

Esse comando desvincula a tabela de origem (Access) da tabela de destino.

Script

Exemplos de sintaxe:

<unlink-tables>
  <metabase-object object-name="AccessDatabase.table1" object-type="Tables"/>
  <metabase-object object-name="AccessDatabase.table2" object-type="Tables"/>
</unlink-tables>

-Ou-

<unlink-tables>
  <metabase-object object-name="AccessDatabase.Tables" object-type="category"/>
</unlink-tables>

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

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

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.

Sintaxe/exemplo

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

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

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

Sincroniza os objetos de destino com o banco de dados de destino. Se esse comando for executado no banco de dados de origem, você receberá um erro.

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 (Ele 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 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 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.

Sintaxe/exemplo

<synchronize-target
  object-name="ots_triggers.dbo"
  on-error="<report-total-as-warning|
             report-each-as-warning|
             fail-script>"              (optional)
  report-errors-to="<file-name>"        (optional)
/>

-Ou-

<synchronize-target
  object-name="ssma.dbo.Procedures"
  object-type="category"/>

-Ou-

<synchronize-target>
  <metabase-object object-name="ssma.dbo.TT1"/>
  <metabase-object object-name="ssma.dbo.TT2"/>
  <metabase-object object-name="ssma.dbo.TT3"/>
</synchronize-target>

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 o(s) objeto(s) de origem considerado(s) para atualização do banco de dados de origem (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 de 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, um arquivo com o nome SourceDBRefreshReport.XML será criado.

Sintaxe/exemplo

<refresh-from-database
  object-name="ssma.TT1"
  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="ssma.Procedures"
  object-type="category"/>

-Ou-

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

Comandos de arquivo de script para a geração de script

Os comandos de geração de script ajudam a salvar a saída do console em um arquivo de script.

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.

  • object-name: especifica o(s) objeto(s) 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 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).

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

Sintaxe/exemplo

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

-Ou-

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