Выполнение команд консоли SSMA (OracleToSQL)
Корпорация Майкрософт предоставляет надежный набор команд файла скриптов для выполнения действий SSMA и управления ими. Консольное приложение использует определенные стандартные команды файла скриптов, перечисленные в этом разделе.
Команды файла скрипта проекта
Команды Project обрабатывают создание проектов, открытие, сохранение и выход из проектов.
Command
create-new-project
: создает новый проект SSMA.
Скрипт
project-folder
указывает папку создаваемого проекта.project-name
указывает имя проекта. {строка}overwrite-if-exists
Необязательный атрибут указывает, следует ли перезаписывать существующий проект. {boolean}project-type:
Необязательный атрибут. Указывает тип проекта, т. е. проект "sql-server-2005" или "sql-server-2008" или "sql-server-2012" или "sql-server-2014" или "sql-azure". Значение по умолчанию — sql-server-2014.
Пример:
<create-new-project
project-folder="<project-folder>"
project-name="<project-name>"
overwrite-if-exists="<true/false>" (optional)
project-type="<sql-server-2008 | sql-server-2005 | sql-server-2012 | sql-server-2014>" (optional)
/>
Атрибут "overwrite-if-exists" имеет значение false по умолчанию.
Атрибут project-type по умолчанию — sql-server-2008 .
Command
open-project: открывает существующий проект.
Скрипт
project-folder
указывает папку создаваемого проекта. Команда завершается ошибкой, если указанная папка не существует. {строка}project-name
указывает имя проекта. Команда завершается ошибкой, если указанный проект не существует. {строка}
Пример синтаксиса:
<open-project
project-folder="<project-folder>"
project-name="<project-name>"
/>
SSMA для консольного приложения Oracle поддерживает обратную совместимость. Вы сможете открывать проекты, созданные предыдущей версией SSMA.
Command
save-project
Сохраняет проект миграции.
Скрипт
Пример синтаксиса:
<save-project/>
Command
close-project
Закрывает проект миграции.
Скрипт
Пример синтаксиса:
<close-project
if-modified="<save/error/ignore>" (optional)
/>
Команды файла скрипта подключения к базе данных
Команды подключения к базе данных помогают подключиться к базе данных.
Функция обзора пользовательского интерфейса не поддерживается в консоли.
Дополнительные сведения о создании файлов скриптов см. в статье "Создание файлов скриптов" (OracleToSQL).
Command
connect-source-database
Выполняет подключение к исходной базе данных и загружает метаданные высокого уровня исходной базы данных, но не все метаданные.
Если не удается установить подключение к источнику, создается ошибка, а консольное приложение останавливает дальнейшее выполнение.
Скрипт
Определение сервера извлекается из атрибута имени, определенного для каждого подключения в разделе сервера файла подключения сервера или файла скрипта.
Пример синтаксиса:
<connect-source-database server="<server-unique-name>"/>
Command
force-load-source/target-database
Загружает исходные метаданные.
Полезно для работы с проектом миграции в автономном режиме.
Если не удается установить подключение к источнику или целевому объекту, создается ошибка, и консольное приложение останавливает дальнейшее выполнение.
Скрипт
Требуется один или несколько узлов метабазы в качестве параметра командной строки.
Пример синтаксиса:
<force-load object-name="<object-name>"
metabase="<source/target>"/>
or
<force-load>
<metabase-object object-name="<object-name>"/>
</force-load>
Command
reconnect-source-database
Повторно подключается к базе данных-источнику, но не загружает метаданные в отличие от команды connect-source-database.
Если не удается установить подключение (re)к источнику, создается ошибка, а консольное приложение останавливает дальнейшее выполнение.
Скрипт
Пример синтаксиса:
<reconnect-source-database server="<server-unique-name>"/>
Command
connect-target-database
Подключается к целевой базе данных SQL Server и загружает метаданные высокого уровня целевой базы данных, но не метаданные полностью.
Если не удается установить подключение к целевому объекту, создается ошибка, и консольное приложение останавливает дальнейшее выполнение.
Скрипт
Определение сервера извлекается из атрибута имени, определенного для каждого подключения в разделе сервера файла подключения сервера или файла скрипта.
Пример синтаксиса:
<connect-target-database server="<server-unique-name>"/>
Command
reconnect-target-database
Повторно подключается к целевой базе данных, но не загружает метаданные, в отличие от команды connect-target-database.
Если не удается установить подключение (повторно)к целевому объекту, создается ошибка, и консольное приложение останавливает дальнейшее выполнение.
Скрипт
Пример синтаксиса:
<reconnect-target-database server="<server-unique-name>"/>
Команды файла скрипта отчета
Команды отчета создают отчеты о производительности различных действий консоли SSMA.
Command
generate-assessment-report
Создает отчеты об оценке в исходной базе данных.
Если подключение к базе данных-источнику не выполняется перед выполнением этой команды, создается ошибка и консольное приложение завершает работу.
Сбой подключения к исходному серверу базы данных во время выполнения команды также приводит к прекращению консольного приложения.
Скрипт
conversion-report-folder:
Указывает папку, в которой можно хранить отчет об оценке. (необязательный атрибут)object-name:
Указывает объекты, которые рассматриваются для создания отчета оценки (он может иметь имена неинициальных объектов или имя объекта группы).object-type:
указывает тип объекта, указанного в атрибуте имени объекта (если указана категория объекта, то тип объекта будет "category").conversion-report-overwrite:
Указывает, следует ли перезаписать папку отчета оценки, если она уже существует.Значение по умолчанию: false. (необязательный атрибут)
write-summary-report-to:
Указывает путь, по которому будет создан сводный отчет.Если упоминается только путь к папке, создается файл по имени AssessmentReport<n.XML>. (необязательный атрибут)
Создание отчета имеет две дополнительные подкатегории:
report-errors
(="true/false", с значением по умолчанию "false" (необязательные атрибуты))verbose
(="true/false", с значением по умолчанию "false" (необязательные атрибуты))
Пример синтаксиса:
<generate-assessment-report
object-name="<object-name>"
object-type="<object-category>"
write-summary-report-to="<file>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
assessment-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
or
<generate-assessment-report
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
>
<metabase-object object-name="<object-name>"
object-type="<object-category>"/>
</generate-assessment-report>
Команды файла скрипта миграции
Команды миграции преобразуют схему целевой базы данных в исходную схему и переносятся данные на целевой сервер.
Параметр выходных данных консоли по умолчанию для команд миграции — "Полный" выходной отчет без подробных отчетов об ошибках: только сводка по корневому узлу дерева исходного объекта.
Command
Convert-schema
Выполняет преобразование схемы из источника в целевую схему.
Если подключение к исходной или целевой базе данных не выполняется перед выполнением этой команды или подключение к исходному или целевому серверу базы данных завершается сбоем во время выполнения команды, создается ошибка, и консольное приложение завершает работу.
Скрипт
conversion-report-folder:
Указывает папку, в которой можно хранить отчет об оценке. (необязательный атрибут)object-name:
Указывает исходные объекты, которые рассматриваются для преобразования схемы (у него могут быть неинициальные имена объектов или имя объекта группы).object-type:
указывает тип объекта, указанного в атрибуте имени объекта (если указана категория объекта, то тип объекта будет "category").conversion-report-overwrite:
Указывает, следует ли перезаписать папку отчета оценки, если она уже существует.Значение по умолчанию: false. (необязательный атрибут)
write-summary-report-to:
Указывает путь, по которому будет создан сводный отчет.Если упоминается только путь к папке, создается файл по имени SchemaConversionReport<n.XML>. (необязательный атрибут)
Создание отчета имеет две дополнительные подкатегории:
report-errors
(="true/false", с значением по умолчанию "false" (необязательные атрибуты))verbose
(="true/false", с значением по умолчанию "false" (необязательные атрибуты))
Пример синтаксиса:
<convert-schema
object-name="<object-name>"
object-type="<object-category>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
or
<convert-schema
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
<metabase-object object-name="<object-name>"
object-type="<object-category>"/>
</convert-schema>
Command
миграция данных
Переносит исходные данные в целевой объект.
Скрипт
conversion-report-folder:
Указывает папку, в которой можно хранить отчет об оценке. (необязательный атрибут)object-name:
Указывает исходные объекты, которые рассматриваются для переноса данных (может иметь имена неинициальных объектов или имя группового объекта).object-type:
указывает тип объекта, указанного в атрибуте имени объекта (если указана категория объекта, то тип объекта будет "category").conversion-report-overwrite:
Указывает, следует ли перезаписать папку отчета оценки, если она уже существует.Значение по умолчанию: false. (необязательный атрибут)
write-summary-report-to:
Указывает путь, по которому будет создан сводный отчет.Если упоминается только путь к папке, создается файл по имени DataMigrationReport<n.XML>. (необязательный атрибут)
Создание отчета имеет две дополнительные подкатегории:
report-errors
(="true/false", с значением по умолчанию "false" (необязательные атрибуты))verbose
(="true/false", с значением по умолчанию "false" (необязательные атрибуты))
Пример синтаксиса:
<migrate-data
write-summary-report-to="<file-name/folder-name>"
report-errors="<true/false>"
verbose="<true/false>">
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
<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>
or
<migrate-data
object-name="<object-name>"
object-type="<object-category>"
write-summary-report-to="<file-name/folder-name>"
report-errors="<true/false>"
verbose="<true/false>"/>
Команды файла скрипта подготовки миграции
Команда подготовки миграции инициирует сопоставление схем между исходными и целевыми базами данных.
Command
схема map-schema
Сопоставление схемы исходной базы данных с целевой схемой.
Переносит исходные данные в целевой объект.
Скрипт
source-schema
указывает исходную схему, которую планируется перенести.sql-server-schema
указывает целевую схему, в которой мы хотим перенести ее.
Пример синтаксиса:
<map-schema
source-schema="<source-schema>"
sql-server-schema="<target-schema>"/>
Команды файла скрипта управляемости
Команды управляемости помогают синхронизировать целевые объекты базы данных с исходной базой данных. Параметр выходных данных консоли по умолчанию для команд миграции — "Полный" выходной отчет без подробных отчетов об ошибках: только сводка по корневому узлу дерева исходного объекта.
Command
синхронизация целевого объекта
Синхронизирует целевые объекты с целевой базой данных.
Если эта команда выполняется в исходной базе данных, возникает ошибка.
Если подключение целевой базы данных не выполняется перед выполнением этой команды или подключение к целевому серверу базы данных завершается сбоем во время выполнения команды, создается ошибка, и консольное приложение завершает работу.
Скрипт
object-name:
Указывает целевые объекты, которые рассматриваются для синхронизации с целевой базой данных (они могут иметь имена неинициальных объектов или имя объекта группы).object-type:
указывает тип объекта, указанного в атрибуте имени объекта (если указана категория объекта, то тип объекта будет "category").on-error:
Указывает, следует ли указывать ошибки синхронизации в качестве предупреждений или ошибок. Доступные варианты для ошибки:предупреждение от общего числа отчетов
report-each-as-warning
скрипт fail-script
report-errors-to:
Указывает расположение отчета об ошибке для операции синхронизации (необязательный атрибут), если задан только путь к папке, создается файл по имени TargetSynchronizationReport.XML .
Пример синтаксиса:
<synchronize-target
object-name="<object-name>"
on-error="<report-total-as-warning/
report-each-as-warning/
fail-script>" (optional)
report-errors-to="<file-name/folder-name>" (optional)
/>
or
<synchronize-target
object-name="<object-name>"
object-type="<object-category>"/>
or
<synchronize-target>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
</synchronize-target>
Command
обновление из базы данных
Обновляет исходные объекты из базы данных.
Если эта команда выполняется в целевой базе данных, создается ошибка.
Скрипт
Требуется один или несколько узлов метабазы в качестве параметра командной строки.
object-name:
Указывает исходные объекты, которые рассматриваются для обновления из исходной базы данных (у него могут быть отдельные имена объектов или имя объекта группы).object-type:
Указывает тип объекта, указанного в атрибуте имени объекта (если указана категория объекта, то тип объекта будет "category").on-error:
Указывает, следует ли указывать ошибки обновления в качестве предупреждений или ошибок. Доступные варианты для ошибки:предупреждение от общего числа отчетов
report-each-as-warning
скрипт fail-script
report-errors-to:
Указывает расположение отчета об ошибке для операции обновления (необязательный атрибут), если задан только путь к папке, создается файл по имени SourceDBRefreshReport.XML .
Пример синтаксиса:
<refresh-from-database
object-name="<object-name>"
on-error="<report-total-as-warning/
report-each-as-warning/
fail-script>" (optional)
report-errors-to="<file-name/folder-name>" (optional)
/>
or
<refresh-from-database
object-name="<object-name>"
object-type="<object-category>"/>
or
<refresh-from-database>
<metabase-object object-name="<object-name>"/>
</refresh-from-database>
Команды файла скрипта создания скриптов
Команды создания скриптов выполняют двойные задачи: они помогают сохранять выходные данные консоли в файле скрипта; и запишите выходные данные T-SQL в консоль или файл на основе указанного параметра.
Command
Save-as-script
Используется для сохранения скриптов объектов в файл, упомянутый при метабазе=target, это альтернатива команде синхронизации, в которой мы получаем скрипты и выполняем то же самое в целевой базе данных.
Скрипт
Требуется один или несколько узлов метабазы в качестве параметра командной строки.
object-name:
Указывает объекты, скрипты которых необходимо сохранить. (У него могут быть отдельные имена объектов или имя объекта группы)object-type:
указывает тип объекта, указанного в атрибуте имени объекта (если указана категория объекта, то тип объекта будет "category").metabase:
Указывает, является ли он источником или целевой метабазой.destination:
Указывает путь или папку, в которой должен быть сохранен скрипт, если имя файла не задано, имя файла в формате (значение атрибута object_name).Outoverwrite:
Значение true, если оно перезаписывается, если существует то же имя файла. Он может иметь значения (true/false).
Пример синтаксиса:
<save-as-script
metabase="<source/target>"
object-name="<object-name>"
object-type="<object-category>"
destination="<file/folder>"
overwrite="<true/false>" (optional)
/>
or
<save-as-script
metabase="<source/target>"
destination="<file/folder>"
<metabase-object object-name="<object-name>"
object-type="<object-category>"/>
</save-as-script>
Command
Оператор convert-sql-
context
указывает имя схемы.destination
Указывает, следует ли хранить выходные данные в файле.Если этот атрибут не указан, на консоли отображается преобразованная инструкция T-SQL. (необязательный атрибут)
conversion-report-folder
указывает папку, в которой можно хранить отчет об оценке. (необязательный атрибут)conversion-report-overwrite
указывает, следует ли перезаписать папку отчета оценки, если она уже существует.Значение по умолчанию: false. (необязательный атрибут)
write-converted-sql-to
указывает путь к папке файла (или), в котором должен храниться преобразованный T-SQL. Если путь к папке указан вместе сsql-files
атрибутом, каждый исходный файл будет иметь соответствующий целевой файл T-SQL, созданный в указанной папке. Если путь к папке указан вместе сsql
атрибутом, преобразованный T-SQL записывается в файл с именем Result.out в указанную папку.sql
указывает инструкции Sql Oracle для преобразования, одну или несколько инструкций можно разделить с помощью оператора ";".sql-files
указывает путь к файлам SQL, которые необходимо преобразовать в код T-SQL.write-summary-report-to
указывает путь, по которому будет создан отчет. Если упоминается только путь к папке, создается файл по имени ConvertSQLReport.XML . (необязательный атрибут)Создание отчета содержит 2 дополнительные подкатегории, viz.:
report-errors (="true/false", с значением по умолчанию "false" (необязательные атрибуты)).
verbose (="true/false", с значением по умолчанию "false" (необязательные атрибуты)).
Скрипт
Требуется один или несколько узлов метабазы в качестве параметра командной строки.
Пример синтаксиса:
<convert-sql-statement
context="<schema-name>"
conversion-report-folder="<folder-name>"
conversion-report-overwrite="<true/false>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
destination="<stdout/file>" (optional)
file-name="<file-name>"
sql="SELECT 1 FROM DUAL;">
<output-window suppress-messages="<true/false>" />
</convert-sql-statement>
or
<convert-sql-statement
context="<schema-name>"
conversion-report-folder="<folder-name>"
conversion-report-overwrite="<true/false>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>"
destination="<stdout/file>" (optional)
write-converted-sql-to="<file-name/folder-name>"
sql-files="<folder-name>\*.sql" />
or
<convert-sql-statement
context="<schema-name>"
conversion-report-folder="<folder-name>"
conversion-report-overwrite="<true/false>"
sql-files="<folder-name>\*.sql" />
Следующий шаг
Сведения о параметрах командной строки см. в разделе "Параметры командной строки" в консоли SSMA (OracleToSQL).
Дополнительные сведения о файлах скриптов консоли см. в статье "Работа с примерами файлов скриптов консоли " (OracleToSQL)
Следующий шаг зависит от требований проекта:
Сведения об указании пароля или импорта паролей см. в разделе "Управление паролями" (OracleToSQL).
Сведения о создании отчетов см. в разделе "Создание отчетов" (OracleToSQL).
Сведения об устранении неполадок в консоли см. в разделе "Устранение неполадок" (OracleToSQL).