sql server-如何进行数据库模式的版本控制



是否有(Cheap或FLOSS(对SQLServer2008DB模式进行版本控制?

这是Jeff Atwood关于数据库版本控制的一篇好文章

您可以为此目的使用数据库专业人员的团队版

以下是您可以购买的也可以使用的工具列表:

Red Gate SQL Compare售价295美元起。

DB Ghost从$195

SQL变更管理器每个实例995美元。

SQL Effects Clarity标准版, 139美元起

SQLSourceSafe 129美元起。

sqlXpress Diff价格联系方式。:-(

Embarcadero变更经理联系价格:-(

Apex SQL差异399美元起

SQL源代码管理2003 199美元起

SASSI v2.0专业版180美元起

Evorex Source#共享软件或299美元以上(报告冲突!(

编辑刚刚找到这篇文章,它解释了通过svn:Versioning SQL Server数据库

进行版本控制

在Visual Studio中为数据库创建一个数据库项目。将该项目签入库系统,如SVN或Team Foundation Server。

根据我的经验,在企业环境中没有简单的选择。

以下三种方法是主要选择(与使用的工具集无关(。

1( 将整个架构转储到一个文件中,并将文件存储在存储库中

PROS:简易

缺点:大文件-很难手动编辑-很难看到自上个版本以来发生了什么变化-无法部署它,因此需要一些机制在开发人员和测试/实时系统之间准备DIFF脚本

2( 将每个数据库对象转储到一个单独的文件中,存储在存储库中。

PROS:很容易看出发生了什么变化。可以很容易地为大多数对象生成部署脚本(尽管有些事情仍然需要DIFF脚本,例如列定义更改(

缺点:必须按照一定的顺序运行脚本——管理这个过程可能相当困难。

3( 将每一个更改都视为一个单独的操作,并使用其自己的按顺序编号的SQL脚本。

PROS:开发者很容易创建脚本,相同的脚本可以在每个平台上运行(理论上(

缺点:管理的噩梦-排序可能会成为一个问题,很难看到发布中发生了什么变化,或者给定对象何时发生了变化。

在运行了所有3个选项后,我想说2很好用,但一开始需要很长时间才能设置-以正确的顺序执行所有脚本需要很长的时间-而且它仍然需要使用数据库差异工具来生成UAT/Live的脚本。所以我现在建议在1&2.

最新更新