Выполнение консоли SSMA (AccessToSQL)
Корпорация Майкрософт предоставляет надежный набор команд файла скриптов и параметров командной строки для выполнения и управления действиями Помощник по миграции SQL Server (SSMA). В последующих разделах подробно описано то же самое.
Команды файла скрипта проекта
Команды Project обрабатывают создание проектов, открытие, сохранение и выход из проектов.
create-new-project
Создает новый проект SSMA.
Атрибут | Значение по умолчанию | Описание | Тип |
---|---|---|---|
project-folder |
нет | Указывает папку создаваемого проекта. | Строка |
project-name |
нет | Указывает имя проекта. | Строка |
overwrite-if-exists |
false |
Необязательный атрибут, указывающий, следует ли перезаписывать существующий проект. | Логический |
project-type |
sql-server-2008 |
Необязательный атрибут элемента . Для следующих вариантов доступны project-type следующие варианты:sql-server-2005 sql-server-2008 sql-server-2012 sql-server-2014 sql-server-2016 sql-azure |
Строка |
Пример синтаксиса
<create-new-project
project-folder="<project-folder>"
project-name="<project-name>"
overwrite-if-exists="<true | false>"
project-type="<project-type>"
/>
open-project
Открывает существующий проект.
Атрибут | Значение по умолчанию | Описание | Тип |
---|---|---|---|
project-folder |
нет | Указывает папку создаваемого проекта. Команда завершается ошибкой, если указанная папка не существует. | Строка |
project-name |
нет | Указывает имя проекта. Команда завершается ошибкой, если указанный проект не существует. | Строка |
Пример синтаксиса
<open-project
project-folder="<project-folder>"
project-name="<project-name>"
/>
Примечание.
Приложение SSMA for Access Console поддерживает обратную совместимость. Вы можете открывать проекты, созданные предыдущей версией SSMA.
save-project
Сохраняет проект миграции.
Пример синтаксиса
<save-project/>
close-project
Закрывает проект миграции.
Атрибут | Значение по умолчанию | Описание | Тип |
---|---|---|---|
if-modified |
ignore |
Необязательный атрибут для указания поведения. Возможные значения: save , error и ignore . |
Строка |
Пример синтаксиса
<close-project
if-modified="<save/error/ignore>" (optional)
/>
Атрибут if-modified является необязательным, игнорируется по умолчанию.
Команды файла скрипта подключения к базе данных
Команды подключения к базе данных помогают подключиться к базе данных.
Функция обзора пользовательского интерфейса не поддерживается в консоли.
Параметры проверки подлинности Windows и порта не применимы при подключении к SQL Azure.
Дополнительные сведения см. в разделе "Создание файлов скриптов " (AccessToSQL)".
connect-source-database
Выполняет подключение к исходной базе данных и загружает высокоуровневые метаданные исходной базы данных, но не все метаданные.
Если подключение к источнику не удается установить, создается ошибка, и консольное приложение останавливает дальнейшее выполнение.
Определение server
извлекается из атрибута имени, определенного для каждого подключения в server
разделе файла подключения сервера или файла скрипта.
Пример синтаксиса
<connect-source-database server="<server-unique-name>"/>
load-access-database
Используется для загрузки файлов базы данных доступа.
Атрибут | Значение по умолчанию | Описание | Тип |
---|---|---|---|
database-file |
нет | Указывает путь к базе данных Access. | Строка |
Пример синтаксиса
<load-access-database database-file="<Access-database>"/>
-или-
<load-access-database>
<access-database database-file="<Access-database1>"/>
<access-database database-file="<Access-database2>"/>
</load-access-database>
force-load
исходная или целевая база данных
Загружает исходные метаданные. Полезно для работы с проектом миграции в автономном режиме.
Если не удается установить подключение к источнику или целевому объекту, создается ошибка, и консольное приложение останавливает дальнейшее выполнение.
Требуется один или несколько metabase
узлов в качестве параметра командной строки.
Атрибут | Значение по умолчанию | Описание | Тип |
---|---|---|---|
object-name |
нет | Указывает имя объекта. | Строка |
metabase |
нет | Указывает путь к базе данных Access. Возможные значения: source target |
Строка |
Пример синтаксиса
<force-load
object-name="<object-name>"
metabase="<source/target>"/>
-или-
<force-load>
<metabase-object object-name="<object-name>"/>
</force-load>
reconnect-source-database
Повторно подключается к базе данных-источнику, но не загружает метаданные в отличие от команды connect-source-database.
Если не удается установить подключение (re)к источнику, создается ошибка, а консольное приложение останавливает дальнейшее выполнение.
Определение server
извлекается из атрибута имени, определенного для каждого подключения в server
разделе файла подключения сервера или файла скрипта.
Пример синтаксиса
<reconnect-source-database server="<server-unique-name>"/>
connect-target-database
Подключается к целевой базе данных SQL Server или Базе данных SQL Azure и загружает высокоуровневые метаданные целевой базы данных, но не полностью метаданные.
Если подключение к целевому объекту не удается установить, создается ошибка, и консольное приложение останавливает дальнейшее выполнение.
Определение server
извлекается из атрибута имени, определенного для каждого подключения в server
разделе файла подключения сервера или файла скрипта.
Пример синтаксиса
<connect-target-database server="<server-unique-name>"/>
reconnect-target-database
Повторно подключается к целевой базе данных, но не загружает метаданные, в отличие от команды connect-target-database.
Если не удается установить подключение (re)к целевому объекту, создается ошибка, а консольное приложение останавливает дальнейшее выполнение.
Определение server
извлекается из атрибута имени, определенного для каждого подключения в server
разделе файла подключения сервера или файла скрипта.
Пример синтаксиса
<reconnect-target-database server="<server-unique-name>"/>
Команды файла скрипта отчета
Команды отчета создают отчеты о производительности различных действий консоли SSMA
generate-assessment-report
Создает отчеты об оценке в исходной базе данных.
Если подключение к базе данных-источнику не выполняется перед выполнением этой команды, создается ошибка и консольное приложение завершает работу.
Сбой подключения к исходному серверу базы данных во время выполнения команды также приводит к окончанию консольного приложения.
Скрипт
assessment-report-folder
: указывает папку, в которой можно хранить отчет об оценке. (необязательный атрибут)object-name
: указывает объекты, которые рассматриваются для создания отчета об оценке (у него могут быть отдельные имена объектов или имя объекта группы).object-type
: указывает тип объекта, указанного в атрибуте имени объекта (если указана категория объекта, то тип объекта будет "category").assessment-report-overwrite
: указывает, следует ли перезаписать папку отчета оценки, если она уже существует.Значение по умолчанию: false. (необязательный атрибут)
write-summary-report-to
: указывает путь, по которому будет создан отчет.Если упоминается только путь к папке, создается файл по имени AssessmentReport<n>.XML . (необязательный атрибут)
Создание отчета имеет две дополнительные подкатегории:
report-errors
(="true/false", с значением по умолчанию "false" (необязательные атрибуты))verbose
(="true/false", с значением по умолчанию "false" (необязательные атрибуты))
Пример синтаксиса
<generate-assessment-report
object-name="ssma.Procedures"
object-type="category"
write-summary-report-to="<file>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
conversion-report-folder="<folder>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
-или-
<generate-assessment-report
conversion-report-folder="<folder>" (optional)
conversion-report-overwrite="<true/false>" (optional)
>
<metabase-object object-name="ssma.Procedures"
object-type="category"/>
</generate-assessment-report>
Команды файла скрипта миграции
Команды миграции преобразуют схему целевой базы данных в исходную схему и переносятся данные на целевой сервер.
Параметр выходных данных консоли по умолчанию для команд миграции — "Полный" выходной отчет без подробных отчетов об ошибках: только сводка по корневому узлу дерева исходного объекта.
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="ssma.Procedures"
object-type="category"
write-summary-report-to="<filepath/folder>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
conversion-report-folder="<folder>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
-или-
<convert-schema
conversion-report-folder="<folder>" (optional)
conversion-report-overwrite="<true/false>" (optional)
>
<metabase-object object-name="ssma.Procedures"
object-type="category"/>
</convert-schema>
migrate-data
Переносит исходные данные в целевой объект.
Скрипт
object-name
: указывает исходные объекты, которые рассматриваются для переноса данных (у него могут быть отдельные имена объектов или имя объекта группы).object-type
: указывает тип объекта, указанного в атрибуте имени объекта (если указана категория объекта, то тип объекта будет "category").write-summary-report-to
: указывает путь, по которому будет создан отчет.Если упоминается только путь к папке, создается файл по имени DataMigrationReport<n>.XML . (необязательный атрибут)
Создание отчета имеет две дополнительные подкатегории:
report-errors
(="true/false", с значением по умолчанию "false" (необязательные атрибуты))verbose
(="true/false", с значением по умолчанию "false" (необязательные атрибуты))
Пример синтаксиса
<migrate-data
write-summary-report-to="<filepath/folder>"
report-errors="true" verbose="true">
<metabase-object object-name="ssma.TT1"/>
<metabase-object object-name="ssma.TT2"/>
<metabase-object object-name="ssma.TT3"/>
<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>
-или-
<migrate-data
object-name="ssma.Tables"
object-type="category"
write-summary-report-to="<filepath/folder>"
report-errors="true" verbose="true"/>
link-tables
Эта команда связывает исходную таблицу (Access) с целевой таблицей.
Скрипт
Пример синтаксиса
<link-tables>
<metabase-object object-name="AccessDatabase.table1" object-type="Tables"/>
<metabase-object object-name="AccessDatabase.table2" object-type="Tables"/>
</link-tables>
-или-
<link-tables>
<metabase-object object-name="AccessDatabase.Tables" object-type="category"/>
</link-tables>
unlink-tables
Эта команда отменяет связь исходной таблицы (Access) из целевой таблицы.
Скрипт
Примеры синтаксиса:
<unlink-tables>
<metabase-object object-name="AccessDatabase.table1" object-type="Tables"/>
<metabase-object object-name="AccessDatabase.table2" object-type="Tables"/>
</unlink-tables>
-или-
<unlink-tables>
<metabase-object object-name="AccessDatabase.Tables" object-type="category"/>
</unlink-tables>
Команды файла скрипта подготовки миграции
Команда подготовки миграции запускает сопоставление схем между исходными и целевыми базами данных.
map-schema
Сопоставление схемы исходной базы данных с целевой схемой.
Скрипт
source-schema
указывает исходную схему, которую планируется перенести.sql-server-schema
указывает целевую схему, в которой мы хотим перенести ее.
Пример синтаксиса
<map-schema source-schema="source-schema"
sql-server-schema="target-schema"/>
Команды управляемости
Команды управляемости помогают синхронизировать целевые объекты базы данных с исходной базой данных.
Параметр выходных данных консоли по умолчанию для команд миграции — "Полный" выходной отчет без подробных отчетов об ошибках: только сводка по корневому узлу дерева исходного объекта.
synchronize-target
Синхронизирует целевые объекты с целевой базой данных. Если эта команда выполняется в исходной базе данных, возникает ошибка.
Если подключение к целевой базе данных не выполняется перед выполнением этой команды или подключение к целевому серверу базы данных завершается сбоем во время выполнения команды, создается ошибка, и консольное приложение завершает работу.
Скрипт
object-name
: указывает целевые объекты, которые рассматриваются для синхронизации с целевой базой данных (это может иметь отдельные имена объектов или имя объекта группы).object-type
: указывает тип объекта, указанного в атрибуте имени объекта (если указана категория объекта, то тип объекта ).category
on-error
: указывает, следует ли указывать ошибки синхронизации в качестве предупреждений или ошибок. Доступные варианты для ошибки:- предупреждение от общего числа отчетов
- report-each-as-warning
- скрипт fail-script
report-errors-to
: указывает расположение отчета об ошибке для операции синхронизации (необязательный атрибут), если задан только путь к папке, создается файл по имени TargetSynchronizationReport.XML .
Пример синтаксиса
<synchronize-target
object-name="ots_triggers.dbo"
on-error="<report-total-as-warning|
report-each-as-warning|
fail-script>" (optional)
report-errors-to="<file-name>" (optional)
/>
-или-
<synchronize-target
object-name="ssma.dbo.Procedures"
object-type="category"/>
-или-
<synchronize-target>
<metabase-object object-name="ssma.dbo.TT1"/>
<metabase-object object-name="ssma.dbo.TT2"/>
<metabase-object object-name="ssma.dbo.TT3"/>
</synchronize-target>
refresh-from-database
Обновляет исходные объекты из базы данных. Если эта команда выполняется в целевой базе данных, создается ошибка.
Скрипт
Требуется один или несколько узлов метабазы в качестве параметра командной строки.
object-name
: указывает исходные объекты, которые рассматриваются для обновления из исходной базы данных (это может иметь отдельные имена объектов или имя объекта группы).object-type
: указывает тип объекта, указанного в атрибуте имени объекта (если указана категория объекта, то тип объекта ).category
on-error
: указывает, следует ли указывать ошибки обновления в качестве предупреждений или ошибок. Доступные варианты для ошибки:report-total-as-warning
report-each-as-warning
fail-script
report-errors-to
: указывает расположение отчета об ошибке для операции обновления (необязательный атрибут), если задан только путь к папке, создается файл по имени SourceDBRefreshReport.XML .
Пример синтаксиса
<refresh-from-database
object-name="ssma.TT1"
on-error="<report-total-as-warning|
report-each-as-warning|
fail-script>" (optional)
report-errors-to="<file-name>" (optional)
/>
-или-
<refresh-from-database
object-name="ssma.Procedures"
object-type="category"/>
-или-
<refresh-from-database>
<metabase-object object-name="ssma.TT_1"/>
</refresh-from-database>
Команды файла скрипта создания скриптов
Команды создания скриптов помогают сохранить выходные данные консоли в файле скрипта.
save-as-script
Используется для сохранения скриптов объектов в файл, упомянутый при метабазе=target, это альтернатива команде синхронизации, в которой мы получаем скрипты и выполняем то же самое в целевой базе данных.
Скрипт
Требуется один или несколько узлов метабазы в качестве параметра командной строки.
object-name
: указывает объекты, скрипты которых необходимо сохранить. (У него могут быть отдельные имена объектов или имя объекта группы).object-type
: указывает тип объекта, указанного в атрибутеobject-name
. Если указана категория объектов, то тип объекта —category
.metabase
: указывает, является ли это исходной или целевой метабазой.destination
: указывает путь или папку, в которой должен быть сохранен скрипт. Если имя файла не задано, то имя файла в формате (object_name attribute value
).overwrite
: еслиtrue
он перезаписывается, если существуют те же имена файлов. Он может иметь значения (true
/false
).
Пример синтаксиса
<save-as-script
metabase="<source/target>"
object-name="ssma.dbo.Procedures"
object-type="category"
destination="<file/folder>"
overwrite="<true/false>" (optional)
/>
-или-
<save-as-script
metabase="<source/target>"
destination="<file/folder>"
>
<metabase-object object-name="ssma.dbo.Procedures"
object-type="category"/>
</save-as-script>