Sql 管理数据库更改的最佳方法

Sql 管理数据库更改的最佳方法,sql,database,database-design,version-control,Sql,Database,Database Design,Version Control,管理数据库更改的最佳方法是什么?我需要有一个解决方案,无论数据库客户端的语言。此外,我希望能够在这些更改中使用特定的数据库功能,例如存储过程、触发器等。我们目前正在使用Redgate的toolbelt,它包含数据库比较、数据比较等功能 您还可以使用任何源代码管理来跟踪对数据库对象的更改。不确定您在这里要问什么,但如果这是管理架构更改并在版本和部署之间保持同步的好方法,那么Visual Studio database Edition很难出错。它的唯一用途是管理数据库模式更改、验证模式、构建和生成部

管理数据库更改的最佳方法是什么?我需要有一个解决方案,无论数据库客户端的语言。此外,我希望能够在这些更改中使用特定的数据库功能,例如存储过程、触发器等。

我们目前正在使用Redgate的toolbelt,它包含数据库比较、数据比较等功能


您还可以使用任何源代码管理来跟踪对数据库对象的更改。

不确定您在这里要问什么,但如果这是管理架构更改并在版本和部署之间保持同步的好方法,那么Visual Studio database Edition很难出错。它的唯一用途是管理数据库模式更改、验证模式、构建和生成部署脚本。如果您有Visual Studio Developer Edition或Visual Studio Team Suite,您可以免费获得它。

首先,请确保已编写了整个数据库构建的脚本,以便在需要时重建数据库

然后,应将每个更改编写为更新脚本。这样,您就可以针对数据库中的数据库分别运行每个更改


一旦更改提交到代码库,将更改脚本与构建过程合并,使其自动发生……然后在出现任何问题时归档更改脚本。

首先,将所有数据库更改放入脚本中,并将其放入源代码管理系统

接下来,删除开发人员对生产的所有权限。在中小型车间中,应有两个人拥有生产权,即指定的dba和他或她的指定替补。一旦开发人员无法对prod进行更改,您会发现让他们实际编写和使用脚本会更容易


切勿在prod上运行未首先加载到QA或staging的脚本。如果脚本有问题,应该在这一点上找到。

使用(也许可以查看或)

在我的例子中,我为这项工作构建了一个SH脚本:

还有一个MySQL脚本:


如果您使用的是RedGate工具,则可以使用SQL源代码管理通过SSMS将现有的源代码管理系统连接到SQL Server。