我已经阅读了很多有关数据库版本控制重要性的帖子。然而,我无法找到一个简单的解决方案来检查数据库是否处于应该的状态。
例如,我有一个名为“Version”的表的数据库(版本号存储在其中)。但是,开发人员可以访问和编辑数据库,而不更改版本号。例如,如果开发人员更新存储过程并且没有更新版本,则数据库状态与版本值不同步。
如何跟踪这些更改?我不需要跟踪发生了什么变化,而只需要检查数据库表、视图、存储过程等是否与保存在Version表中的数据库版本同步。
为什么需要这样做?在部署时,我需要检查数据库是否“正确”。此外,并非所有表或其他数据库对象都应该被跟踪。是否可以在不使用触发器的情况下进行检查?是否可以在不使用第三方工具的情况下完成?数据库是否具有校验和?
假设我们使用SQL Server 2005。
编辑:
我认为我应该提供有关我们当前环境的更多信息-我们有一个“基线”,其中包括创建基本版本所需的所有脚本(包括数据对象和我们应用程序的“元数据”)。然而,有许多安装了此“基线”版本的其他数据库对象(其他表、视图、存储过程等)。当我们对“基线”版本进行一些更改时,我们还必须更新某些安装(而不是全部),在那时,我们必须检查“基线”是否处于正确状态。
谢谢