Сравнение и синхронизация данных из одной или нескольких таблиц с данными из эталонной базы данных
Вы можете сравнивать данные в исходной и целевой базах данных и указывать, какие таблицы подлежат сравнению. Данные можно просматривать, чтобы принять решение о том, какие изменения следует синхронизировать. Затем можно обновить целевую базу данных для синхронизации баз данных или экспортировать скрипт обновления в редактор Transact-SQL или в файл.
Например, может потребоваться синхронизировать базы данных для обновления промежуточного сервера с применением копии рабочих данных. Можно также синхронизировать одну или несколько таблиц для заполнения их ссылочными данными из другой базы данных. Кроме того, можно сравнивать данные до и после выполнения тестов в качестве дополнительной формы проверки.
Можно сравнивать данные в двух базах данных, но возможность задавать файлы проекта базы данных или DACPAC для сравнения отсутствуют, поскольку они не содержат данные.
В этом разделе рассматриваются следующие вопросы:
Требования
Если речь идет о сравнении данных в таблице или представлении, то таблица или представление в базе данных-источнике должна иметь несколько общих атрибутов с таблицей или представлением в целевой базе данных. Таблицы и представления, которые не соответствуют следующим условиям, не подлежат сравнению и не отображаются на второй странице мастера Создание сравнения данных:
Таблицы должны иметь совпадающие имена столбцов, имеющих совместимые типы данных.
В именах таблиц, представлений и владельцев учитывается регистр.
Таблицы должны иметь одинаковые первичные ключи, уникальные индексы или ограничения уникальности.
Представления должны иметь одинаковые уникальные кластеризованные индексы.
Можно сравнивать таблицу с представлением, только если они имеют одинаковое имя.
Каждый объект имеет ключ или индекс, определяющий другие объекты, которым он соответствует. Каждая таблица и представление могут иметь больше одного первичного ключа, уникального индекса или ограничения уникальности. Поэтому может потребоваться указать используемые ключ, индекс или ограничение.
Общие задачи
В этом разделе приведено описание общих задач, которые поддерживают этот сценарий.
Определение параметров для управления сравниваемыми данными. При сравнении данных можно пропускать столбцы идентификаторов, отключать триггеры и внешние ключи. Можно также удалять первичные ключи, индексы и ограничения уникальности из скрипта обновления.
Сравнение данных в таблицах и при желании обновление целевой базы данных для согласования с исходной базой данных. После определения сравниваемых баз данных, исходной и целевой, а также для запуска сравнения, просмотрите результаты в окне Сравнение данных. Просмотрите не только подробные сведения о различиях, но и скрипт обновления, который используется для синхронизации данных. После выявления различий между двумя базами данных определите действие для каждого различия. Затем обновите целевую базу данных или экспортируйте скрипт обновления в редактор Transact-SQL или в файл. Экспортировать скрипт может потребоваться для того, чтобы вы или кто-то другой могли ознакомиться с ним перед применением изменений.
Описание результатов сравнения
В следующей таблице приведено описание пяти столбцов в окне Сравнение данных.
Столбец | Примечания |
---|---|
Объект | Отображает имя таблицы или представления, а также флажок, который указывает, должна ли целевая база данных быть синхронизирована при записи обновлений или экспорте скрипта обновления. Флажок недоступен в таблицах или представлениях, которые не содержат данные. |
Различные записи | Отображает число записей в целевой базе данных, имеющих одинаковый ключ, но не такие данные, как в исходной базе данных. В круглых скобках указано число записей, отмеченных как подлежащие обновлению при записи обновлений или экспорте скрипта обновления. |
Только в исходной базе данных | Отображает число записей в исходной базе данных, которые отсутствуют в целевой базе данных. В круглых скобках указано число записей, отмеченных как подлежащие добавлению при записи обновлений или экспорте скрипта обновления. |
Только в целевой базе данных | Отображает число записей в целевой базе данных, которые отсутствуют в исходной базе данных. В круглых скобках указано число записей, отмеченных как подлежащие удалению при записи обновлений или экспорте скрипта обновления. |
Идентичные записи | Отображает число записей в целевой базе данных, которые имеют тот же ключ и такие же данные, как и в исходной базе данных. Эти записи не обновляются при записи обновлений или экспорте скрипта обновления. |
Детализация таблиц и представлений
После щелчка любой таблицы или представления в окне Сравнение данных в области сведений отображаются все строки, содержащиеся в таблице или представлении. Вкладки области сведений показывают разные категории («Различные записи», «Только в исходной базе данных», «Только в целевой базе данных», «Идентичные записи»). Для каждой строки предусмотрен флажок, который можно выбрать или очистить, чтобы указать, включать ли соответствующее изменение в скрипт обновления.
См. также:
SQL Server Data Tools
Руководство. использовать сравнение схем для сопоставления различных определений баз данных