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


Выполнение команд консоли SSMA (MySQLToSQL)

Корпорация Майкрософт предоставляет надежный набор команд файла скриптов для выполнения действий SSMA и управления ими.

Консольное приложение использует определенные стандартные команды файла скриптов, перечисленные в этом разделе.

Команды файла скрипта проекта

Command

create-new-project:
Создает новый проект SSMA.

Команды Project обрабатывают создание проектов, открытие, сохранение и выход из проектов.

Скрипт

  1. project-folder указывает папку создаваемого проекта.

  2. project-name указывает имя проекта. {строка}

  3. overwrite-if-existsНеобязательный атрибут указывает, следует ли перезаписывать существующий проект. {boolean}

  4. project-type:Необязательный атрибут. Указывает тип проекта, т. е. проект "sql-server-2005" или "sql-server-2008" или "sql-server-2012" или "sql-server-2014" или "sql-azure". Значение по умолчанию — sql-server-2008.

Пример синтаксиса:

<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 | sql-azure>"   (optional)  
  
/>  

Атрибут "overwrite-if-exists" имеет значение false по умолчанию.

Атрибут project-type по умолчанию — sql-server-2008 .

Command

open-project:
Открывает существующий проект.

Скрипт

  1. project-folder указывает папку создаваемого проекта. Команда завершается ошибкой, если указанная папка не существует. {строка}

  2. project-name указывает имя проекта. Команда завершается ошибкой, если указанный проект не существует. {строка}

Пример синтаксиса:

<open-project  
  
   project-folder="<project-folder>"  
  
   project-name="<project-name>"  
  
/>  

Внимание

Консольное приложение SSMA для MySQL поддерживает обратную совместимость. Вы сможете открывать проекты, созданные предыдущей версией SSMA.

Command

save-project: сохраняет проект миграции.

Скрипт

Пример синтаксиса:

<save-project/>  

Command

close-project
: закрывает проект миграции.

Скрипт

Пример синтаксиса:

<save-project/>  

Command

close-project
: закрывает проект миграции.

Скрипт

Пример синтаксиса:

<close-project  
  
   if-modified="<save/error/ignore>"   (optional)  
  
/>  

Атрибут if-modified является необязательным, игнорируется по умолчанию.

Команды файла скрипта подключения к базе данных

Команды подключения к базе данных помогают подключиться к базе данных.

  1. Функция обзора пользовательского интерфейса не поддерживается в консоли.

  2. Параметры проверки подлинности Windows и порта неприменимо при подключении к SQL Azure.

  3. Дополнительные сведения о создании файлов скриптов см. в разделе "Создание файлов скриптов" (MySQLToSQL).

Command

connect-source-database

  • Выполняет подключение к исходной базе данных и загружает высокоуровневые метаданные исходной базы данных, но не все метаданные.

  • Если не удается установить подключение к источнику, создается ошибка, а консольное приложение останавливает дальнейшее выполнение.

Скрипт

Определение сервера извлекается из атрибута имени, определенного для каждого подключения в разделе сервера файла подключения сервера или файла скрипта.

Пример синтаксиса:

<connect-source-database  server="<server-unique-name>"/>  

Command

force-load-source/target-database

  • Загружает исходные метаданные.

  • Полезно для работы с проектом миграции в автономном режиме.

  • Если не удается установить подключение к источнику или целевому объекту, создается ошибка, и консольное приложение останавливает дальнейшее выполнение.

Скрипт

Требуется один или несколько узлов метабазы в качестве параметра командной строки.

Пример синтаксиса:

<force-load metabase="<source/target>"  
  
      <metabase-object object-name="<object-name>"/>  
  
</force-load>  

Command

reconnect-source-database

  1. Повторно подключается к базе данных-источнику, но не загружает метаданные в отличие от команды connect-source-database.

  2. Если не удается установить подключение (re)к источнику, создается ошибка, а консольное приложение останавливает дальнейшее выполнение.

Скрипт

Пример синтаксиса:

<reconnect-source-database  server="<server-unique-name>"/>  

Command

connect-target-database

  1. Подключается к целевой базе данных SQL Server или Базе данных SQL Azure и загружает высокоуровневые метаданные целевой базы данных, но не полностью метаданные.

  2. Если не удается установить подключение к целевому объекту, создается ошибка, и консольное приложение останавливает дальнейшее выполнение.

Скрипт

Определение сервера извлекается из атрибута имени, определенного для каждого подключения в разделе сервера файла подключения сервера или файла скрипта.

Пример синтаксиса:

<connect-target-database  server="<server-unique-name>"/>  

Command

reconnect-target-database

  1. Повторно подключается к целевой базе данных, но не загружает метаданные, в отличие от команды connect-target-database.

  2. Если не удается установить подключение (повторно)к целевому объекту, создается ошибка, и консольное приложение останавливает дальнейшее выполнение.

Скрипт

Пример синтаксиса:

<reconnect-target-database  server="<server-unique-name>"/>  

Команды файла скрипта отчета

Команды отчета создают отчеты о производительности различных действий консоли SSMA.

Command

generate-assessment-report

  1. Создает отчеты об оценке в исходной базе данных.

  2. Если подключение к базе данных-источнику не выполняется перед выполнением этой команды, создается ошибка и консольное приложение завершает работу.

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

Скрипт

  1. assessment-report-folder: Указывает папку, в которой хранится отчет об оценке. (необязательный атрибут)

  2. object-name: Указывает объекты, которые рассматриваются для создания отчета об оценке (в нем могут быть отдельные имена объектов или имя объекта группы).

  3. object-type: указывает тип объекта, указанного в атрибуте имени объекта (если указана категория объекта, то тип объекта будет "category").

  4. assessment-report-overwrite: Указывает, следует ли перезаписать папку отчета оценки, если она уже существует.

    Значение по умолчанию: false. (необязательный атрибут)

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

<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

  1. Выполняет преобразование схемы из источника в целевую схему.

  2. Если подключение к исходной или целевой базе данных не выполняется перед выполнением этой команды или подключение к исходному или целевому серверу базы данных завершается сбоем во время выполнения команды, создается ошибка, и консольное приложение завершает работу.

Скрипт

  1. conversion-report-folder: Указывает папку, в которой хранится отчет об оценке. (необязательный атрибут)

  2. object-name: Указывает объекты, которые рассматриваются для преобразования схемы (может иметь отдельные имена объектов или имя объекта группы).

  3. object-type: указывает тип объекта, указанного в атрибуте имени объекта (если указана категория объекта, то тип объекта будет "category").

  4. conversion-report-overwrite: Указывает, следует ли перезаписать папку отчета оценки, если она уже существует.

    Значение по умолчанию: false. (необязательный атрибут)

  5. 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-names>"  
  
         object-type="<object-category>"/>  
  
</convert-schema>  

Command

миграция данных

  1. Переносит исходные данные в целевой объект.

Скрипт

  1. object-name: Указывает исходные объекты, которые рассматриваются для переноса данных (у него могут быть отдельные имена объектов или имя объекта группы).

  2. object-type: указывает тип объекта, указанного в атрибуте имени объекта (если указана категория объекта, то тип объекта будет "category").

  3. 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" verbose="true">  
  
      <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" verbose="true"/>  

Команда файла скрипта подготовки миграции

Команда подготовки миграции инициирует сопоставление схем между исходными и целевыми базами данных.

Command

схема map-schema

Сопоставление схемы исходной базы данных с целевой схемой.

Скрипт

  1. source-schema указывает исходную схему, которую планируется перенести.

  2. sql-server-schema указывает целевую схему, в которой мы хотим перенести ее.

Пример синтаксиса:

<map-schema  
  
   source-schema="<source-schema>"  
  
   sql-server-schema="<target-schema>"/>  

Команды файла скрипта управляемости

Команды управляемости помогают синхронизировать целевые объекты базы данных с исходной базой данных.

Заметка

Параметр выходных данных консоли по умолчанию для команд миграции — "Полный" выходной отчет без подробных отчетов об ошибках: только сводка по корневому узлу дерева исходного объекта.

Command

синхронизация целевого объекта

  1. Синхронизирует целевые объекты с целевой базой данных.

  2. Если эта команда выполняется в исходной базе данных, возникает ошибка.

  3. Если подключение целевой базы данных не выполняется перед выполнением этой команды или подключение к целевому серверу базы данных завершается сбоем во время выполнения команды, создается ошибка, и консольное приложение завершает работу.

Скрипт

  1. object-name: Указывает объекты, которые рассматриваются для синхронизации с целевой базой данных (они могут иметь отдельные имена объектов или имя объекта группы).

  2. object-type: указывает тип объекта, указанного в атрибуте имени объекта (если указана категория объекта, то тип объекта будет "category").

  3. on-error: Указывает, следует ли указывать ошибки синхронизации в качестве предупреждений или ошибок. Доступные варианты для ошибки:

    • предупреждение от общего числа отчетов

    • report-each-as-warning

    • скрипт fail-script

  4. 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>"   (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

обновление из базы данных

  1. Обновляет исходные объекты из базы данных.

  2. Если эта команда выполняется в целевой базе данных, создается ошибка.

Скрипт

  1. object-name: Указывает исходные объекты, которые рассматриваются для обновления из исходной базы данных (у него могут быть отдельные имена объектов или имя объекта группы).

  2. object-type: Указывает тип объекта, указанного в атрибуте имени объекта (если указана категория объекта, то тип объекта будет "category").

  3. on-error: Указывает, следует ли указывать ошибки синхронизации в качестве предупреждений или ошибок. Доступные варианты для ошибки:

    • предупреждение от общего числа отчетов

    • report-each-as-warning

    • скрипт fail-script

  4. 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>"   (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, это альтернатива команде синхронизации, в которой мы получаем скрипты и выполняем то же самое в целевой базе данных.

Скрипт

Требуется один или несколько узлов метабазы в качестве параметра командной строки.

  1. object-name: Указывает объекты, скрипты которых необходимо сохранить. (У него могут быть отдельные имена объектов или имя объекта группы)

  2. object-type: указывает тип объекта, указанного в атрибуте имени объекта (если указана категория объекта, то тип объекта будет "category").

  3. metabase: Указывает, является ли она исходной или целевой метабазой.

  4. destination: Указывает путь или папку, в которой должен быть сохранен скрипт, если имя файла не задано, имя файла в формате (значение атрибута object_name).Out

  5. overwrite: Значение true, если оно перезаписывается, если существует то же имя файла. Он может иметь значения (true/false).

Пример синтаксиса:

<save-as-script  
  
   metabase="<source/target>"  
  
   object-name="<object-name>"  
  
   object-type="<object-category>"  
  
   destination="<file-name/folder-name>"  
  
   overwrite="<true/false>"   (optional)  
  
/>  

or

<save-as-script  
  
   metabase="<source/target>"  
  
   destination="<file-name/folder-name>"  
  
      <metabase-object object-name="<object-name>"  
  
            object-type="<object-category>"/>  
  
</save-as-script>  

Command

Оператор convert-sql-

  1. context указывает имя схемы.

  2. destination Указывает, следует ли хранить выходные данные в файле.

    Если этот атрибут не указан, на консоли отображается преобразованная инструкция T-SQL. (необязательный атрибут)

  3. conversion-report-folder указывает папку, в которой хранится отчет об оценке. (необязательный атрибут)

  4. conversion-report-overwrite указывает, следует ли перезаписать папку отчета оценки, если она уже существует.

    Значение по умолчанию: false. (необязательный атрибут)

  5. write-converted-sql-to указывает путь к папке файла (или), в котором должен храниться преобразованный T-SQL. Если путь к папке указан вместе с sql-files атрибутом, каждый исходный файл будет иметь соответствующий целевой файл T-SQL, созданный в указанной папке. Если путь к папке указан вместе с sql атрибутом, преобразованный T-SQL записывается в файл с именем Result.out в указанную папку.

  6. sql указывает преобразованные инструкции SQL MySQL, одну или несколько инструкций можно разделить с помощью ";"

  7. sql-files указывает путь к файлам SQL, которые необходимо преобразовать в код T-SQL.

  8. 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)  
  
   write-converted-sql-to="<file-name/folder-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>"   (optional)  
  
   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 (MySQLToSQL).

Дополнительные сведения о примерах файлов скриптов консоли см. в статье "Работа с примерами файлов скриптов консоли (MySQLToSQL)

Следующий шаг зависит от требований проекта:

  1. Сведения об указании пароля или импорта паролей см. в разделе "Управление паролями" (MySQLToSQL).

  2. Сведения о создании отчетов см. в разделе "Создание отчетов " (MySQLToSQL)".

  3. Сведения об устранении неполадок в консоли см. в разделе "Устранение неполадок" (MySQLToSQL).