Сравнение и синхронизация данных из одной или нескольких таблиц с данными из эталонной базы данных

 

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

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

Можно сравнивать данные в двух базах данных, но возможность задавать файлы проекта базы данных или DACPAC для сравнения отсутствуют, поскольку они не содержат данные.

В этом разделе рассматриваются следующие вопросы.

Требования

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

  • Таблицы должны иметь совпадающие имена столбцов, имеющих совместимые типы данных.

    В именах таблиц, представлений и владельцев учитывается регистр.

  • Таблицы должны иметь одинаковые первичные ключи, уникальные индексы или ограничения уникальности.

  • Представления должны иметь одинаковые уникальные кластеризованные индексы.

  • Можно сравнивать таблицу с представлением, только если они имеют одинаковое имя.

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

Общие задачи

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

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

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

Описание результатов сравнения

В следующей таблице приведено описание пяти столбцов в окне Сравнение данных.

Столбец

Примечания

Объект

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

Различные записи

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

Только в исходной базе данных

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

Только в целевой базе данных

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

Идентичные записи

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

Детализация таблиц и представлений

После щелчка любой таблицы или представления в окне Сравнение данных в области сведений отображаются все строки, содержащиеся в таблице или представлении.Вкладки области сведений показывают разные категории («Различные записи», «Только в исходной базе данных», «Только в целевой базе данных», «Идентичные записи»).Для каждой строки предусмотрен флажок, который можно выбрать или очистить, чтобы указать, включать ли соответствующее изменение в скрипт обновления.

См. также

SQL Server Data Tools
Как использовать сравнение схем для сопоставления различных определений баз данных