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