Сравнение и синхронизация схем двух баз данных SQL Server

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

Задание

Название задания и каталога вывода задания в каталоге проекта. Его можно изменить до выполнения задания.

[Целевая база данных]

Целевая база данных для сравнения и синхронизации. Вы можете установить подключение к базе данных онлайн или выбрать файл структуры базы данных.

Утверждать целевую базу данных

Разрешить использование выбранной онлайн-базы данных в качестве целевой для этого задания? Эта функция предназначена для фильтрации выбора целевой базы данных, чтобы предотвратить случайное выполнение на "не той" базе или на базе, которая не удовлетворяет определенным требованиям. Например, мы можем проверить, принадлежит ли она нашему продукту, имеет ли необходимую версию или другие необходимые составляющие и т.д. Обычно эта функция используется в пакетах обновлений.

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

Тестировать на совместимость

Проверять совместимость приложения с функционалом баз данных. AutosyncDB охватывает наиболее часто используемые виды объектов, их свойства и функциональные возможности, что позволяет эффективно сравнивать и синхронизировать их. Однако есть некоторый функционал, которые еще не поддерживаются, используются очень редко или слишком локализованы для синхронизации.

Данный тест может выявить только ИЗВЕСТНЫЕ проблемы совместимости и предоставить дополнительную информацию по ним. Каждое сообщение имеет уникальный код и характеризуется уровнем серьезности (не путать с уровнем серьезности ошибок в SQL), пороговые значения для которого можно указать в настройках задания.

Тест на совместимость выполняется после выполнения подготовительного скрипта, но до этапа сравнения, экспорта или выполнения скрипта синхронизации.

Уровни серьезности варьируются от 1 до 5. Чем выше уровень, тем он серьезнее. Уровни назначаются на основе оценки риска неявной перезаписи или возможной потери функционала во время синхронизации; его значение для реализации конкретной архитектуры; принадлежность к "основному" или "дополнительному" функционалу; сложность управления этим функционалом с помощью ручного скрипта и степени зависимости от другого функционала базы данных. Также уровень может быть повышен, если функционал напрямую связана с безопасностью.

Макс. допустимый уровень серьезности

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

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

Протоколировать, когда уровень серьезности

Задает самый низкий уровень серьезности сообщений, начиная с которого их уже следует протоколировать. Значения должны быть в диапазоне от 1 до 5.

Игнорировать типы сообщений

Задает типы сообщений, которые следует игнорировать. Используйте запятую в качестве разделителя.

Архивировать

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

Выполнять скрипты

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

Вы можете выбрать один SQL-файл или листинг SQL-файлов. Для того чтобы создать листинг SQL-файлов, – просто выберите их в требуемом порядке в Диалоге.

Кроме того, вы просто можете использовать эту функцию для выполнения произвольных SQL-файлов на целевой базе данных без процесса синхронизации.

Сравнить с

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

[Шаблонная база данных]

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

Общие параметры

Изменять COLLATION базы данных

Используйте эту опцию вместе с опцией режима доступа SINGLE_USER для синхронизации параметров сортировки базы данных по умолчанию. Изменение параметров сортировки базы данных по умолчанию не изменяет параметры сортировки столбцов. Для приведения в соответствие параметров сортировки столбцов – используйте опцию для столбцов.

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

Изменять COLLATION по умолчанию в столбцах

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

Применять режим доступа SINGLE_USER

Выключать AUTO_UPDATE_STATISTICS_ASYNC и применять режим доступа SINGLE_USER для целевой базы данных со значением ROLLBACK через 5 секунд. Все значения будут восстановлены в конце.

Устранять конфликты

Удалять объекты в целевой базе данных, которые конфликтуют с объектами в шаблонной, если последние необходимо создать или изменить. Этот параметр включает проверку на наличие конфликтов имен объектов, конфликтов кластерного ключа/индекса, конфликтов в назначении объектов (не может быть более одного кластерного ключа в таблице или ограничения по умолчанию для столбца, двух объектов с одинаковым именем и т.д.)

Перезаписовать таблицы представлениями или табличными функциями

Разрешить замену таблиц представлениями или табличными функциями, если они имеют одинаковые имена

Развязывать зависимости

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

Часто, чтобы изменить один объект следует удалить (а затем заново создать) другие объекты, которые зависят от первого. Например: чтобы изменить столбец – следует предварительно удалить индекс; чтобы заново создать скалярную функцию – следует удалить констрейны по умолчанию, где она используется, и т.д.

Сравнение тела объектов

Дополнительные правила сравнения тела объектов.

Игнорировать внешние пробелы и разрывы строк

Игнорировать пробелы и разрывы строк в начале и в конце.

Игнорировать любые пробелы и разрывы строк

Игнорировать любые пробелы и разрывы строк за пределами 'строковых литералов', "строковых литералов или идентификаторов в двойных кавычках" и [идентификаторов].

Игнорировать комментарии

Игнорировать комментарии.

Сравнивать согласно COLLATION

Сравнивать тела объектов на основе параметров сортировки базы данных по умолчанию, за исключением 'строковых литералов' и "строковых литералов или идентификаторов в двойных кавычках". В противном случае будет использоваться правило строгого соответствия.

Сравнение вычисляемых выражений

Дополнительные правила сравнения вычисляемых выражений.

Игнорировать внешние круглые скобки

Игнорировать внешние круглые скобки в начале и в конце.

DISABLED

Установите эту опцию, чтобы изменить свойство DISABLED объектов. Иначе алгоритм сравнения попытается унаследовать эти значения от существующих объектов.

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

NOT FOR REPLICATION

Установите этот параметр, чтобы изменить свойство объектов NOT FOR REPLICATION. В противном случае алгоритм сравнения попытается унаследовать эти значения от существующих объектов.