Поделиться через


Создание файлов скриптов (Db2ToSQL)

Прежде чем запустить консольное приложение Помощник по миграции SQL Server (SSMA), необходимо создать файл скрипта. При необходимости можно также создать файл значения переменной и файл подключения сервера.

Файл скрипта можно разделить на три раздела:

Раздел Описание
config Задайте параметры конфигурации для консольного приложения.
servers Задайте определения исходного или целевого сервера. Также может находиться в отдельном файле подключения к серверу.
script-commands Выполните команды рабочего процесса SSMA.

Каждый раздел подробно описан в этой статье.

Настройка параметров консольного приложения SSMA

Конфигурации скрипта отображаются в файле скрипта консоли.

Если любой из элементов указан в узле конфигурации, они задаются в качестве глобального параметра. Другими словами, они применяются ко всем командам скрипта. Эти элементы конфигурации также можно задать в каждой команде в разделе "Скрипт-команда", если вы хотите переопределить глобальный параметр.

Параметры, настраиваемые пользователем, включают:

  1. Поставщик окна вывода: если suppress-messages для атрибута задано значение, сообщения, относящиеся к trueкоманде, не отображаются в консоли.

    Атрибут Description
    destination Указывает, нужно ли выводить данные в файл или stdout. По умолчанию: false.
    file-name (необязательно) Путь к файлу.
    suppress-messages Подавляет сообщения в консоли. По умолчанию: false.

    Пример:

    <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. Поставщик подключения к миграции данных: указывает, какой исходный или целевой сервер следует учитывать для миграции данных. Последнее использование источника указывает, что последний используемый исходный сервер используется для миграции данных. Аналогичным образом используется последний используемый целевой сервер указывает, что последний используемый целевой сервер используется для миграции данных. Можно также указать сервер (источник или целевой объект), используя исходный сервер или целевой сервер атрибутов.

    Одновременно можно задать только один из этих атрибутов:

    • source-use-last-used="true" (по умолчанию) или source-server="<source-server-unique-name>"
    • target-use-last-used="true" (по умолчанию) или target-server="<target-server-unique-name>"

    Пример:

    <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. Всплывающее окно ввода пользователя: позволяет обрабатывать ошибки при загрузке объектов из базы данных. Вы предоставляете режимы ввода и при возникновении ошибки консоль продолжается, как указано.

    Режим Description
    ask-user Запрашивает продолжение (yes) или ошибку (no).
    error (по умолчанию) Консоль отображает ошибку и останавливает выполнение.
    continue Консоль продолжает выполнение.

    Пример:

    <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. Поставщик повторного подключения. Позволяет задать параметры повторного подключения, если произошел сбой подключения. Это можно задать как для исходных, так и для целевых серверов.

    Режим повторного подключения Description
    reconnect-to-last-used-server Если подключение не активно, он пытается повторно подключиться к последнему серверу, используемому в течение пяти раз.
    generate-an-error (по умолчанию) Если подключение не активно, создается ошибка.

    Пример:

    <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. Поставщик перезаписи конвертера: позволяет обрабатывать объекты, которые уже присутствуют в целевой метабазе.

    Действие Description
    error Консоль отображает ошибку и останавливает выполнение.
    overwrite (по умолчанию) Перезаписывает существующие значения объектов.
    skip Консоль пропускает объекты, которые уже существуют в базе данных.
    ask-user Запрашивает входные данные (yes / no).

    Пример:

    <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. Поставщик необходимых компонентов с ошибкой: вы можете обрабатывать все необходимые условия, необходимые для обработки команды. По умолчанию strict-mode имеет значение false. Если trueисключение создается для сбоя соответствия предварительным требованиям.

    Пример:

    <output-providers>
      <prerequisites strict-mode="<true/false>"/>
    </output-providers>
    
  7. Остановить операцию: во время средней операции, если вы хотите остановить операцию, можно использовать клавиши CTRL+C . SSMA для консольного приложения SSMA ожидает завершения операции и завершает выполнение консоли.

    Если вы хотите немедленно остановить выполнение, можно снова нажать клавиши CTRL+C для завершения консольного приложения SSMA.

  8. Поставщик хода выполнения: сообщает о ходе выполнения каждой команды консоли. Выключено по умолчанию. Атрибуты отчетов о ходе выполнения состоят из следующих элементов:

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

    Пример:

    <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. Подробные сведения для средства ведения журнала. Задает уровень детализации журнала. Это соответствует параметру "Все категории " в пользовательском интерфейсе.

    Уровень средства ведения журнала Description
    fatal-error Регистрируются только сообщения о неустранимой ошибке.
    error (по умолчанию) Регистрируются только сообщения об ошибках и неустранимых ошибках.
    warning Регистрируются все уровни, кроме отладочных и информационных сообщений.
    info Регистрируются все уровни, кроме отладочных сообщений.
    debug Все уровни сообщений, зарегистрированных в журнале.

    Обязательные сообщения регистрируются на любом уровне.

    Пример:

    <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. Переопределите зашифрованный пароль: если trueпароль, указанный в разделе определения сервера файла подключения сервера или в файле скрипта, переопределяет зашифрованный пароль, хранящийся в защищенном хранилище, если он существует. Если пароль не указан в виде ясного текста, вам будет предложено ввести пароль.

    Здесь возникают два случая:

    1. Если параметр переопределения имеет значение false, порядок поиска — "Защищенный > файловый > сервер хранилища" — пользователь запроса файла подключения к файлу.>

    2. Если параметр переопределения имеет значение true, порядок поиска — это запрос файла подключения к файлу > файлового > сервера скрипта.

    Пример:

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

Неконфигурируемый параметр:

  • Максимальное количество попыток повторного подключения: если установленное время ожидания или прерывание подключения из-за сбоя сети, сервер должен быть повторно подключен. Попытки повторного подключения разрешены максимум 5 повторных попыток, после чего консоль автоматически выполняет повторное подключение. Средство автоматического повторного подключения сокращает усилия при повторном запуске скрипта.

Параметры подключения сервера

Параметры подключения к серверу можно определить в файле скрипта или в файле подключения сервера. Дополнительные сведения см. в разделе "Создание файлов подключения к серверу".

Команды скрипта

Файл скрипта содержит последовательность команд рабочего процесса миграции в формате XML. Консольное приложение SSMA обрабатывает миграцию в порядке команд, отображаемых в файле скрипта.

Например, типичный перенос данных определенной таблицы в базе данных Db2 следует иерархии таблицы схемы>.

После успешного выполнения всех команд в файле скрипта консольное приложение SSMA завершает работу. Содержимое файла скрипта является более или менее статическим с сведениями о переменных, содержащихся либо в файле значения переменной, либо в отдельном разделе в файле скрипта для значений переменных.

Пример:

Ниже приведен пример команд файла скрипта:

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

Шаблоны, состоящие из трех файлов скриптов (для выполнения различных сценариев), файла значения переменной и файла подключения к серверу предоставляются в папке примеров скриптов консоли каталога продукта:

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

Вы можете выполнить шаблоны (файлы) после изменения параметров, отображаемых там для релевантности.

Полный список команд скриптов можно найти в консоли SSMA

Проверка файла скрипта

Файл скрипта можно проверить в файле O2SSConsoleScriptSchema.xsdопределения схемы, доступном в папке Schemas .