Compartilhar via


Criar arquivos de script (Db2ToSQL)

Antes de iniciar o aplicativo de console do SSMA (Assistente de Migração do SQL Server), você deve criar o arquivo de script. Se necessário, você também pode criar o arquivo de valor de variável e o arquivo de conexão do servidor.

O arquivo de script pode ser dividido em três seções:

Seção Descrição
config Defina os parâmetros de configuração para o aplicativo de console.
servers Defina as definições do servidor de origem/destino. Também pode estar em um arquivo de conexão de servidor separado.
script-commands Execute comandos de fluxo de trabalho do SSMA.

Cada seção é descrita em detalhes neste artigo.

Definir as configurações do aplicativo de console do SSMA

As configurações de um script são exibidas no arquivo de script do console.

Se algum dos elementos for especificado no nó de configuração, eles serão definidos como a configuração global. Em outras palavras, eles se aplicam a todos os comandos de script. Esses elementos de configuração também podem ser definidos dentro de cada comando na seção script-command se você quiser substituir a configuração global.

As opções configuráveis pelo usuário incluem:

  1. Provedor de Janela de Saída: se suppress-messages o atributo estiver definido como true, as mensagens específicas do comando não serão exibidas no console.

    Atributo Descrição
    destination Especifica se a saída precisa ser impressa em um arquivo ou stdout. false por padrão.
    file-name (opcional) O caminho do arquivo.
    suppress-messages Suprime mensagens no console. false por padrão.

    Exemplo:

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

    or

    <...All commands...>
      <output-window
         suppress-messages="<true/false>"   (optional)
         destination="<file/stdout>"        (optional)
         file-name="<file-name>"            (optional)
       />
    </...All commands...>
    
  2. Provedor de Conexão de Migração de Dados: Especifica qual servidor de origem/destino deve ser considerado para migração de dados. Source-use-last-used indica que o último servidor de origem usado será empregado na migração de dados. Da mesma forma, target-use-last-used indica que o último servidor de destino usado será empregado na migração de dados. Você também pode especificar o servidor (origem ou destino) usando os atributos source-server ou target-server.

    Apenas um desses atributos pode ser definido por vez:

    • source-use-last-used="true" (padrão) ou source-server="<source-server-unique-name>"
    • target-use-last-used="true" (padrão) ou target-server="<target-server-unique-name>"

    Exemplo:

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

    or

    <migrate-data>
      <data-migration-connection   source-server="<source-server-unique-name>"
                                   target-use-last-used="true"/>
    </migrate-data>
    
  3. Pop-up de entrada do usuário: Permite o tratamento de erros, quando os objetos são carregados do banco de dados. Você fornece os modos de entrada e, se houver um erro, o console continuará conforme especificado.

    Mode Descrição
    ask-user Solicita que você continue (yes) ou elimine o erro (no).
    error (padrão) O console exibe um erro e interrompe a execução.
    continue O console prossegue com a execução.

    Exemplo:

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

    or

    <!-- Connect to target database -->
    <connect-target-database server="<target-server-unique-name>">
      <user-input-popup mode="<ask-user/continue/error>"/>
    </connect-target-database>
    
  4. Provedor de Reconexão: Permite definir as configurações de reconexão se houver uma falha de conexão. Pode ser definido para servidores de origem e de destino.

    Modo de reconexão Descrição
    reconnect-to-last-used-server Se a conexão não estiver ativa, ele tentará se reconectar ao último servidor usado cinco vezes no máximo.
    generate-an-error (padrão) Se a conexão não estiver ativa, um erro será gerado.

    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>
    

    or

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

    or

    <!--data migration-->
    <migrate-data server="<target-server-unique-name>">
      <reconnect-manager
        on-source-reconnect="reconnect-to-last-used-server"
        on-target-reconnect="generate-an-error"/>
    </migrate-data>
    
  5. Provedor de substituição do conversor: permite que você manipule objetos que já estão presentes na metabase de destino.

    Ação Descrição
    error O console exibe um erro e interrompe a execução.
    overwrite (padrão) Substitui os valores de objeto existentes.
    skip O console ignora os objetos que já existem no banco de dados.
    ask-user Solicita a entrada (yes / no).

    Exemplo:

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

    or

    <convert-schema object-name="<object-name>">
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>
    </convert-schema>
    
  6. Provedor de pré-requisitos com falha: você pode lidar com quaisquer pré-requisitos necessários para processar um comando. Por padrão, strict-mode é false. Se true, uma exceção é gerada por falha em atender aos pré-requisitos.

    Exemplo:

    <output-providers>
      <prerequisites strict-mode="<true/false>"/>
    </output-providers>
    
  7. Parar operação: Durante o meio da operação, se você quiser interromper a operação, a tecla de atalho Ctrl+C pode ser usada. O aplicativo de console SSMA para SSMA aguarda a conclusão da operação e encerra a execução do console.

    Se você quiser interromper a execução imediatamente, a tecla de atalho Ctrl+C poderá ser pressionada novamente para encerrar o aplicativo de console do SSMA.

  8. Provedor de progresso: informa o andamento de cada comando do console. Desabilitado 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>
    

    or

    <...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. Detalhamento do agente: define o nível de detalhamento do registro em log. Isso corresponde à opção Todas as categorias na interface do usuário.

    Nível do agente Descrição
    fatal-error Somente mensagens de erro fatal são registradas.
    error (padrão) Somente mensagens de erro e erro fatal são registradas.
    warning Todos os níveis, exceto mensagens de depuração e informações, são registrados.
    info Todos os níveis, exceto as mensagens de depuração, são registrados.
    debug Todos os níveis de mensagens registrados.

    As mensagens obrigatórias são registradas em qualquer nível.

    Exemplo:

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

    or

    <...All commands...>
      <log-verbosity level="fatal-error/error/warning/info/debug"/>
    </...All commands...>
    
  10. Substituir senha criptografada: Se true, a senha de texto não criptografado especificada na seção de definição do servidor do arquivo de conexão do servidor ou no arquivo de script substituirá a senha criptografada armazenada no armazenamento protegido, se existir. Se nenhuma senha for especificada em texto não criptografado, você será solicitado a inserir a senha.

    Aqui, surgem dois casos:

    1. Se a opção de substituição for falsa, a ordem de pesquisa será Armazenamento > protegido Script Servidor de arquivos > de conexão Arquivo Prompt Usuário > .

    2. Se a opção de substituição for verdadeira, a ordem de pesquisa será Usuário de Prompt de Arquivo de Conexão do Servidor > de Arquivos de Script>.

    Exemplo:

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

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

  • Máximo de tentativas de reconexão: quando uma conexão estabelecida atinge o tempo limite ou é interrompida devido a uma falha de rede, o servidor precisa ser reconectado. As tentativas de reconexão são permitidas para um máximo de 5 novas tentativas, após o que o console executa automaticamente a reconexão. A facilidade de reconexão automática reduz o esforço em executar novamente o script.

Parâmetros de conexão do servidor

Os parâmetros de conexão do servidor podem ser definidos no arquivo de script ou no arquivo de conexão do servidor. Para obter mais informações, consulte Criar os arquivos de conexão do servidor.

Comandos de script

O arquivo de script contém uma sequência de comandos para o fluxo de trabalho de migração no formato XML. O aplicativo de console do SSMA processa a migração na ordem dos comandos que aparecem no arquivo de script.

Por exemplo, uma migração de dados típica de uma tabela específica em um banco de dados Db2 segue a hierarquia da tabela de esquema>.

Quando todos os comandos no arquivo de script forem executados com êxito, o aplicativo de console do SSMA será encerrado. O conteúdo de um arquivo de script é mais ou menos estático com informações variáveis contidas em um arquivo de valor variável ou em uma seção separada dentro do arquivo de script para valores variáveis.

Exemplo:

Aqui está um exemplo dos comandos do arquivo de script:

<ssma-script-file>
  <script-commands>
    <create-new-project project-folder="<project-folder>"
                        project-name="<project-name>"
                        overwrite-if-exists="<true/false>"/>
    <connect-source-database server="<source-server-unique-name>"/>
    <save-project/>
    <close-project/>
  </script-commands>
</ssma-script-file>

Os modelos que consistem em três arquivos de script (para executar vários cenários), arquivo de valor variável e um arquivo de conexão do servidor são fornecidos na pasta Scripts de Console de Amostra do diretório do produto:

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

Você pode executar os modelos (arquivos) depois de alterar os parâmetros exibidos neles conforme a relevância.

A lista completa de comandos de script pode ser encontrada em Executar o console do SSMA

Validação de arquivo de script

Você pode validar o arquivo de script em relação ao arquivo O2SSConsoleScriptSchema.xsdde definição de esquema, disponível na Schemas pasta.