2015-11-04 3 views
0

Я сравниваю две базы данных, используя open diff, который похож на SQL Compare.Как мне создать скрипт для сравнения, обновления и сопоставления структуры двух баз данных

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

Я использую SQL Server 2012.

ответ

1

Есть много способов, чтобы это сделать. Один из способов - построить то, что я назову «метаданной». База метаданных - это просто база данных, пользовательские таблицы которой содержат структурные метаданные из одной или нескольких других баз данных. Я не слишком хорошо знаком с SQL Server, но я делал то же самое несколько раз с Oracle.

Возможно, самый простой способ - выгрузить выбор из системных таблиц и загрузить их в MS Access DB в качестве пользовательских таблиц. Оттуда сравнение двух баз данных - это просто обычный DML, который вы должны знать, как это сделать, если вы являетесь администратором баз данных. Пример: для всех столбцов во всех таблицах обеих баз данных, имени группы и имени столбца и выберите группы с более чем одним типом данных или более чем одной точностью. Или выберите группы, которые существуют только в одной базе данных.

Вы можете использовать третью базу данных SQL-сервера в качестве контейнера метаданных, если хотите. Мне просто нравится MS Access, потому что это так просто.

Для более подробного объяснения потребуется более подробная информация о том, что вы пытаетесь выполнить.

Смежные вопросы