Моя команда работает с большой базой данных SQL Azure, куда несколько других групп вставляют и читают данные из нашей базы данных.Иногда им нужно создавать или изменять таблицы, но эти действия должны координироваться с нашей командой, и, к сожалению, это не так.У нас был пара сценариев, в которых одна из этих команд обновила хранимую процедуру.В результате их изменения не находятся под нашим контролем исходного кода, и если мы создаем локальную базу данных для разработки или выполняем резервное копирование / восстановление, мы получаем ошибки из-за отсутствующих ссылок.
Мы ищем способ программно определить, является литаблица была изменена или изменена.Это не должно быть в режиме реального времени.Я подумал о том, чтобы читать логи и искать команды alter или create.Я не добился большого успеха, поскольку журналы являются двоичными, и в настоящее время я не знаю, как их анализировать.Моя другая мысль - сохранить копии системных таблиц базы данных и регулярно сравнивать их, чтобы увидеть, изменилось ли что-то.Я не уверен, насколько хорошо это сработает или я смогу определить, кто внес изменения.Мысли, идеи?
Помните, что здесь используется база данных SQL Azure, которая немного более ограничена, чем стандартная база данных SQL.