Я прочитал много постов о важности контроля версий баз данных. Тем не менее, я не мог найти простое решение, как проверить, если база данных в состоянии, что это должно быть.
Например, у меня есть базы данных с таблицей «Версия» (там хранится номер версии). Но база данных может быть доступна и отредактирована разработчиками без изменения номера версии. Если, например, разработчик обновляет хранимую процедуру и не обновляет версию базы данных, состояние не синхронизировано со значением версии.
Как отследить эти изменения? Мне не нужно отслеживать, что изменилось, но мне нужно только проверить, синхронизируются ли таблицы базы данных, представления, процедуры и т. Д. С версией базы данных, сохраненной в таблице версий.
Зачем мне это нужно? При выполнении развертывания мне нужно убедиться, что база данных «правильная». Кроме того, не все таблицы или другие объекты базы данных должны отслеживаться. Можно ли проверить без использования триггеров? Можно ли обойтись без сторонних инструментов? Есть ли в базах данных контрольные суммы?
Допустим, мы используем SQL Server 2005.
Отредактировано:
Я думаю, что я должен предоставить немного больше информации о нашей текущей среде - у нас есть "базовая линия" со всеми сценариями, необходимыми для создания базовой версии (включая объекты данных и "метаданные" для нашего приложения). Однако существует много установок этой «базовой» версии с некоторыми дополнительными объектами базы данных (дополнительные таблицы, представления, процедуры и т. Д.). Когда мы вносим некоторые изменения в «базовую» версию, мы также должны обновить некоторые установки (не все) - тогда мы должны проверить, что «базовая» находится в правильном состоянии.
Спасибо