Создание файлов скриптов (Db2ToSQL)
Прежде чем запустить консольное приложение Помощник по миграции SQL Server (SSMA), необходимо создать файл скрипта. При необходимости можно также создать файл значения переменной и файл подключения сервера.
Файл скрипта можно разделить на три раздела:
Раздел | Описание |
---|---|
config |
Задайте параметры конфигурации для консольного приложения. |
servers |
Задайте определения исходного или целевого сервера. Также может находиться в отдельном файле подключения к серверу. |
script-commands |
Выполните команды рабочего процесса SSMA. |
Каждый раздел подробно описан в этой статье.
Настройка параметров консольного приложения SSMA
Конфигурации скрипта отображаются в файле скрипта консоли.
Если любой из элементов указан в узле конфигурации, они задаются в качестве глобального параметра. Другими словами, они применяются ко всем командам скрипта. Эти элементы конфигурации также можно задать в каждой команде в разделе "Скрипт-команда", если вы хотите переопределить глобальный параметр.
Параметры, настраиваемые пользователем, включают:
Поставщик окна вывода: если атрибут
suppress-messages
установлен какtrue
, сообщения, связанные с командойtrue
, не отображаются в консоли.Атрибут Описание 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>
или
<...All commands...> <output-window suppress-messages="<true/false>" (optional) destination="<file/stdout>" (optional) file-name="<file-name>" (optional) /> </...All commands...>
Поставщик подключения для миграции данных: указывает, какой исходный или целевой сервер следует учитывать для миграции данных. Последнее использование источника указывает, что последний используемый исходный сервер используется для миграции данных. Аналогичным образом, целевой сервер, который использовался последним, указывает, что именно он используется для миграции данных. Вы также можете указать сервер (источник или назначение), используя атрибуты source-server или target-server.
Одновременно можно задать только один из этих атрибутов:
-
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>
или
<migrate-data> <data-migration-connection source-server="<source-server-unique-name>" target-use-last-used="true"/> </migrate-data>
-
Всплывающее окно ввода пользователя: позволяет обрабатывать ошибки при загрузке объектов из базы данных. Вы предоставляете режимы ввода и при возникновении ошибки консоль продолжается, как указано.
Режим Описание ask-user
Запрашивает продолжение ( yes
) или завершает с ошибкой (no
).error
(по умолчанию)Консоль отображает ошибку и останавливает выполнение. continue
Консоль продолжает выполнение. Пример:
<output-providers> <user-input-popup mode="<ask-user/continue/error>"/> </output-providers>
или
<!-- Connect to target database --> <connect-target-database server="<target-server-unique-name>"> <user-input-popup mode="<ask-user/continue/error>"/> </connect-target-database>
Функция повторного подключения: Позволяет задать параметры при сбое связи. Это можно задать как для исходных, так и для целевых серверов.
Режим повторного подключения Описание 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>
или
<!--synchronization--> <synchronize-target> <reconnect-manager on-target-reconnect="reconnect-to-last-used-server"/> </synchronize-target>
или
<!--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>
Поставщик перезаписи конвертера: позволяет обрабатывать объекты, которые уже присутствуют в целевой метабазе.
Действие Описание error
Консоль отображает ошибку и останавливает выполнение. overwrite
(по умолчанию)Перезаписывает существующие значения объектов. skip
Консоль пропускает объекты, которые уже существуют в базе данных. ask-user
Запрашивает входные данные ( yes
/no
).Пример:
<output-providers> <object-overwrite action="<error/skip/overwrite/ask-user>"/> </output-providers>
или
<convert-schema object-name="<object-name>"> <object-overwrite action="<error/skip/overwrite/ask-user>"/> </convert-schema>
Поставщик ошибок предпосылок: вы можете обработать все предпосылки, необходимые для выполнения команды. По умолчанию
strict-mode
имеет значениеfalse
. Еслиtrue
, генерируется исключение в случае несоответствия предварительным требованиям.Пример:
<output-providers> <prerequisites strict-mode="<true/false>"/> </output-providers>
Остановить операцию: во время средней операции, если вы хотите остановить операцию, можно использовать клавиши CTRL+C . SSMA для консольного приложения SSMA ожидает завершения операции и завершает выполнение консоли.
Если вы хотите немедленно остановить выполнение, можно снова нажать клавиши CTRL+C для завершения консольного приложения SSMA.
Информатор прогресса: сообщает о ходе выполнения каждой команды консоли. Выключено по умолчанию. Атрибуты отчетов о ходе выполнения состоят из следующих элементов:
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>
или
<...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...>
Подробность средства ведения журнала. Устанавливает уровень подробности журнала. Это соответствует параметру "Все категории " в пользовательском интерфейсе.
Уровень логгера Описание fatal-error
Регистрируются только сообщения о фатальной ошибке. error
(по умолчанию)Регистрируются только сообщения об ошибках и неустранимых ошибках. warning
Регистрируются все уровни, кроме отладочных и информационных сообщений. info
Регистрируются все уровни, кроме отладочных сообщений. debug
Записаны все уровни сообщений. Обязательные сообщения регистрируются на любом уровне.
Пример:
<output-providers> <log-verbosity level="fatal-error/error/warning/info/debug"/> </output-providers>
или
<...All commands...> <log-verbosity level="fatal-error/error/warning/info/debug"/> </...All commands...>
Переопределение зашифрованного пароля: если
true
в разделе определения сервера файла подключения сервера или в файле скрипта указан открытый текстовый пароль, он переопределяет зашифрованный пароль, хранящийся в защищенном хранилище, если он существует. Если пароль не указан в виде ясного текста, вам будет предложено ввести пароль.Здесь возникают два случая:
Если параметр переопределения имеет значение false, порядок поиска: "Защищенное хранилище" > "Сценарийный файл" > "Файл подключения к серверу" > "Запрос пользователя".
Если параметр переопределения имеет значение 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
.