пятница, июля 13, 2012

Sql Change Scanner – утилита для отслеживания изменений в таблицах SQL Server


Работая со сложным Enterprise-приложением, сохраняя и удаляя всевозможные сущности приложения, иногда очень полезным бывает отследить, какие таблицы в базе данных были модифицированы.

Простого и удобного для меня средства получения такой информации не было, но, за несколько часов, я создал  инструмент при помощи Perl и двух магических SQL запросов. Тогда утилита была непереносима, потому что мне было действительно сложно убедить людей, что поставить Perl на машину – это круто. А Command Line интерфейс – это еще круче. Я говорил… но, мне не верили.

Sql Change Scanner -- окно приложения

Утилита Sql Change Scanner – как раз и выводит имена таблиц, которые были модифицированы.
Сейчас это переносимое GUI приложение. Написал я его за два вечера,  и вот, сегодня – альфа релиз. Это значит, что «все работает на моей машине».

Скачать последнюю версию, вы можете с гитхаба. Сейчас это версия SqlChangeScanner_v1.0.zip  

Краткая инструкция:
Ограничения: Работает только с SQL Server. Тестировалась на SQL Server 2008

В начале, распакуйте и запустите SqlChangeScanner.exe
Укажите валидный ConnectionString к базе данных. Эту строку соединения вы можете взять из web.config вашего приложения.

Нажмите на кнопку Connect для соединения. Если все нормально, то в логе (Output) не должно быть ошибок.

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

Теперь приложение готово к отслеживанию изменений в базе. Сделайте изменение и нажмите на кнопку Scan еще раз. После завершения процесса, в логе (Output) вы увидите те таблицы, которые были модифицированы.

В данном случае, модификация – это либо удаление, либо изменение либо добавление элемента. Работа Sql Change Scanner основана на подсчете контрольных сумм таблиц, так что сейчас приложение покажет имя модифицированной таблицы, но не скажет, какого именно типа была модификация. Для более тонкой работы, вы можете воспользоваться SQL Profiler.

Критика и баг-репорты – приветствуются.

Короткая видео-демонстрация:

Комментариев нет: