Partilhar via


Criar ficheiros de script (AccessToSQL)

Antes de iniciar a aplicação SQL Server Migration Assistant (SSMA) Console, crie o ficheiro de script. Se necessário, crie o ficheiro de valor variável e o ficheiro de ligação ao servidor.

O ficheiro de script tem três secções:

  1. config: Definir os parâmetros de configuração para a aplicação de consola.

  2. servers: Defina as definições do servidor de origem e destino. Também pode colocar estas definições num ficheiro de ligação ao servidor separado.

  3. script-commands: Executar comandos de fluxo de trabalho SSMA.

Cada secção é descrita em detalhe nas seguintes secções:

Configurar as definições da consola de acesso

O ficheiro de script da consola mostra as configurações de um script.

Se especificares algum dos elementos no nó de configuração, defines a definição global para todos os comandos de script. Para sobrepor a definição global, defina estes elementos de configuração em cada comando da script-command secção.

Pode configurar as seguintes opções:

  1. Fornecedor da janela de saída: Se definires o suppress-messages atributo para true, a consola não mostra as mensagens específicas do comando. Os atributos são:

    • destination: Especifica se a saída imprime num ficheiro ou stdout. Este atributo é false por defeito.

    • file-name: O caminho do ficheiro (opcional).

    • suppress-messages: Suprime mensagens na consola. Este atributo é false por defeito.

    Exemplo:

    <output-providers>
      <output-window
        suppress-messages="<true/false>"   (optional)
        destination="<file/stdout>"        (optional)
        file-name="<file-name>"            (optional)
       />
    </output-providers>
    

    ou

    <...All commands...>
      <output-window
         suppress-messages="<true/false>"   (optional)
         destination="<file/stdout>"        (optional)
         file-name="<file-name>"            (optional)
       />
    </...All commands...>
    
  2. Fornecedor de Ligação para Migração de Dados: Especifica qual o servidor de origem ou destino a usar para a migração de dados. source-use-last-used indica que o último servidor de origem utilizado é utilizado para a migração de dados. De forma semelhante, target-use-last-used indica que o último servidor alvo utilizado é utilizado para migração de dados. Use os source-server atributos ou target-server para especificar o servidor.

    Só pode usar um dos seguintes atributos:

    • source-use-last-used="true" (predefinido) ou source-server="source_servername"
    • target-use-last-used="true" (predefinido) ou target-server="target_servername"

    Exemplo:

    <output-providers>
      <data-migration-connection   source-use-last-used="true"
                                   target-server="target_1"/>
    </output-providers>
    

    ou

    <migrate-data>
      <data-migration-connection   source-server="source_1"
                                   target-use-last-used="true"/>
    </migrate-data>
    
  3. Popup de Entrada do Utilizador: Lida com erros quando a consola carrega objetos da base de dados. O utilizador fornece os modos de entrada e, se houver um erro, a consola prossegue conforme especificado pelo utilizador.

    Os modos incluem:

    • ask-user: Solicita ao utilizador para continuar (yes) ou para enviar erro (no).
    • error: A consola apresenta um erro e interrompe a execução.
    • continue: A consola prossegue com a execução.

    O modo padrão é error.

    Exemplo:

    <output-providers>
      <user-input-popup mode="<ask-user/continue/error>"/>
    </output-providers>
    

    ou

    <!-- Connect to target database -->
    <connect-target-database server="target_0">
      <user-input-popup mode="<ask-user/continue/error>"/>
    </connect-target-database>
    
  4. Fornecedor de Reconexão: Define as definições de reconexão caso haja falhas de ligação. Defina esta opção tanto para servidores de origem como de destino.

    Os modos de reconexão são:

    • reconnect-to-last-used-server: Se a ligação não estiver ativa, tenta reconectar-se ao último servidor usado no máximo cinco vezes.
    • generate-an-error: Se a ligação não estiver ativa, o sistema gera um erro.

    O modo padrão é generate-an-error.

    Exemplo:

    <output-providers>
      <reconnect-manager on-source-reconnect="<reconnect-to-last-used-server/generate-an-error>"
                         on-target-reconnect="<reconnect-to-last-used-server/generate-an-error>"/>
    </output-providers>
    

    ou

    <!--synchronization-->
    <synchronize-target>
      <reconnect-manager on-target-reconnect="reconnect-to-last-used-server"/>
    </synchronize-target>
    

    ou

    <!--data migration-->
    <migrate-data server="target_0">
      <reconnect-manager
        on-source-reconnect="reconnect-to-last-used-server"
        on-target-reconnect="generate-an-error"/>
    </migrate-data>
    
  5. Fornecedor de Sobrescrição de Conversor: Use esta definição para tratar objetos que já estão presentes na metabase de destino. As ações possíveis incluem:

    • error: A consola apresenta um erro e interrompe a execução.
    • overwrite: Sobrescreve valores de objetos existentes. Esta ação é a padrão.
    • skip: A consola ignora os objetos que já existem na base de dados.
    • ask-user: Solicita ao utilizador a introdução (yes ou no).

    Exemplo:

    <output-providers>
      <object-overwrite action="<error|skip|overwrite|ask-user>"/>
    </output-providers>
    

    ou

    <convert-schema object-name="ssma.TT1">
      <object-overwrite action="<error|skip|overwrite|ask-user>"/>
    </convert-schema>
    
  6. Gestor de Pré-requisitos Não Cumpridos: Utilize esta configuração para o tratamento de quaisquer pré-requisitos necessários para processar um comando. Por padrão, strict-mode é false. Se definires para true, o sistema gera uma exceção por não cumprir os pré-requisitos.

    Exemplo:

    <output-providers>
      <prerequisites strict-mode="<true|false>"/>
    </output-providers>
    
  7. Parar a Operação: Para parar a operação durante a meio da operação, use o atalho de teclado Ctrl+C . A Consola SSMA espera que a operação seja concluída e termina a execução da consola.

    Se quiseres parar a execução imediatamente, carrega novamente no atalho do teclado Ctrl+C para terminar abruptamente a aplicação SSMA Console.

  8. Provedor de Progresso: Informa o progresso de cada comando de consola. Essa configuração está desabilitada por padrão. Os atributos do relatório de progresso incluem:

    • off
    • every-1%
    • every-2%
    • every-5%
    • every-10%
    • every-20%

    Exemplo:

    <output-providers>
      <progress-reporting enable="<true|false>"           (optional)
                          report-messages="<true|false>"  (optional)
                          report-progress="every-1%|every-2%|every-5%|every-10%|every-20%|off" (optional)/>
    </output-providers>
    

    ou

    <...All commands...>
      <progress-reporting
        enable="<true|false>"              (optional)
        report-messages="<true|false>"     (optional)
        report-progress="every-1%|every-2%|every-5%|every-10%|every-20%|off"     (optional)/>
    </...All commands...>
    
  9. Verborrosidade do Logger: Define o nível de verbosidade logarítmica. Esta configuração corresponde à opção Todas as Categorias na interface. Por defeito, o nível de verbosidade logarítmica é error.

    As opções no nível do registrador incluem:

    • fatal-error: Regista apenas mensagens de erro fatais.
    • error: Regista apenas mensagens de erro e de erro fatal.
    • warning: Regista todos os níveis exceto mensagens de depuração e informação.
    • info: Regista todos os níveis exceto as mensagens de depuração.
    • debug: Regista todos os níveis de mensagens.

    Observação

    O SSMA regista mensagens obrigatórias a qualquer nível.

    Exemplo:

    <output-providers>
      <log-verbosity level="fatal-error/error/warning/info/debug"/>
    </output-providers>
    

    ou

    <...All commands...>
      <log-verbosity level="fatal-error/error/warning/info/debug"/>
    </...All commands...>
    
  10. Sobrescrever Palavra-passe Encriptada: Se true, a secção de definição do servidor do ficheiro de ligação ao servidor ou o ficheiro de script utiliza a palavra-passe em texto claro para sobrepor a palavra-passe encriptada armazenada em armazenamento protegido, caso exista. Se a palavra-passe em texto claro não for especificada, o utilizador é solicitado a introduzi-la.

    Surgem dois casos:

    1. Se a opção de substituição for false, a ordem de pesquisa é Armazenamento protegido > ficheiro de script > ficheiro de conexão de servidor > solicitar ao utilizador.

    2. Se a opção de sobreposição for true, a ordem de pesquisa é ficheiro de script > ficheiro de ligação > solicitar ao utilizador.

    Exemplo:

    <output-providers>
      <encrypted-password override="<true/false>"/>
    </output-providers>
    

A opção não configurável é:

  • Tentativas Máximas de Religação: Quando uma ligação estabelecida expira ou se interrompe devido a falha na rede, o servidor precisa de se reconectar. A consola permite até cinco (5) tentativas de religação. Após estas tentativas, a consola realiza automaticamente a reconexão. A funcionalidade de reconexão automática reduz o seu esforço na reexecução do script.

Parâmetros de ligação ao servidor

Podes definir parâmetros de ligação ao servidor no ficheiro de script ou no ficheiro de ligação ao servidor. Para mais informações, consulte Criar os ficheiros de ligação ao servidor.

Comandos de script

O arquivo de script contém uma sequência de comandos de fluxo de trabalho de migração no formato XML. A aplicação SSMA Console processa a migração pela ordem dos comandos que aparecem no ficheiro de script.

Por exemplo, uma migração típica de dados de uma tabela específica numa base de dados Access segue a hierarquia de: Tabela da Base de Dados > .

Quando todos os comandos do ficheiro de script são executados com sucesso, a aplicação SSMA Console sai e devolve o controlo ao utilizador. O conteúdo de um ficheiro de script é mais ou menos estático, com a informação das variáveis contida quer em ficheiros que criam valores de variáveis, quer numa secção separada dentro do ficheiro de script para valores de variáveis.

Exemplo:

<!--Sample of script file commands -->
<ssma-script-file>
  <script-commands>
    <create-new-project project-folder="$project_folder$"
                        project-name="$project_name$"
                        overwrite-if-exists="true"/>
    <connect-source-database server="source_2"/>
    <save-project/>
    <close-project/>
  </script-commands>
</ssma-script-file>

A pasta Sample Console Scripts do diretório do produto fornece modelos que consistem em três ficheiros de script (para executar vários cenários), um ficheiro de valor variável e um ficheiro de ligação ao servidor:

  • AssessmentReportGenerationSample.xml
  • ConversionAndDataMigrationSample.xml
  • VariableValueFileSample.xml
  • ServersConnectionFileSample.xml

Podes executar os templates depois de alterares os parâmetros para a relevância.

Para uma lista completa de comandos de script, veja Executar a Consola SSMA.

Validação do arquivo de script

Podes validar o teu ficheiro de script contra o ficheiro A2SSConsoleScriptSchema.xsd de definição de esquema na Schemas pasta.