Pull to refresh

Развлекаемся с VS2010 Ultimate: сравнение SQL данных

Reading time1 min
Views2.4K
Original author: Zubair.NET!
Играясь с Visual Studio 2010 я обнаружил что Ultimate (и Premium) редакции поставляются с утилитой для сравнения данных и схем SQL, и решил проверить.

Я сделал две базы данных, SourceDB и TargetDB с единственной таблицей Customer. Вот как выглядят данные в таблицах.



Мастер


Далее, я выбрал Compare Data для исходной таблицы в Server Explorer

В появившемся диалоге я выбрал конечную БД и жмакнул Next – я решил оставить все опции отмеченными.

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


Результат


Теперь самое интересное,

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



Обновление


Но на этом мы еще не закончили. Конечно, я могу обновить конечную БД прямо из VS, для этого у меня есть два пути – сгенерить скрипт или позволить VS2010 обновить данные за меня. Т.к. я все равно просто играюсь с возможностями, я думаю стоит посмотреть оба варианта. Для начала, выберем

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

Если смотреть глубже… мм… VS отключает FK constraints, выполняет все операции – и включает обратно, отлично.
Т.к. я немного ленивый, я хочу чтобы Visual Studio сделала всю работу за меня – и все, что нужно сделать… кликнуть правой кнопкой и выбрать…

VS2010 покажет диалог подтверждения, я знаю что я делаю, поэтому просто кликну ОК и изменения будут опубликованы в конечной БД.
Tags:
Hubs:
Total votes 33: ↑27 and ↓6+21
Comments22

Articles