在复杂的现有方案上进行SQL Server版本控制

时间:2013-10-10 00:41:25

标签: sql sql-server tsql versioning

我正在研究一些场景,并希望得到一些帮助。

我们有一个拥有68名开发人员的团队。我们都在使用三个网络软件,所有这些都是基于SQL Server的。我们今天有大约4个数据库,其中包含我们产品的设置数据,以及大约5种其他数据库,用于存储客户的数据。这些客户数据库的结构大致相同。

我们的开发和认证环境与所有开发人员共享,他们整天编写脚本,对表,存储过程等进行更改。

问题是我们在确保一个人可以通过开发,认证,然后到生产环境没有任何麻烦,例如,丢失了他的工作,由另一个正在研究相同的对象。

所以,我知道Red Gate的解决方案,但它现在对我们来说非常昂贵,但它肯定是目前市场上最具适应性的,也许是最好的解决方案。但我想知道是否有其他解决方案,也许使用一些软件组合在一起,或者可能采用一种流程......无论如何,我会欣赏一些方向,因为我现在有点迷失。

如果有人知道我可以研究的某些字体,它也会很好。

我已经读过关于此问题的一些事情,我在Stack Overflow上找到了这个问题,但他们大多说最好的事情是使用数据库的本地副本,但是根据我的情况,我不认为这是一个不错的选择马上。伙计们,有什么想法?提前谢谢!

1 个答案:

答案 0 :(得分:2)

我们在团队中所做的事情(规模要小得多,约10人在数据库上工作)是:

  1. 每个人都使用本地数据库来开发和完成日常工作。
  2. 我们使用Visual Studio数据库项目来存储数据库的结构。开发人员以与代码相同的方式检入他们的更改。所有合并冲突都在TFS中得到解决,这也为我们提供了版本控制。
  3. 我们准备脚本每晚从数据库项目升级测试,登台和生产环境。我们可以随时为任何版本执行此操作,因为数据库结构已经过版本化,因此与代码保持一致。
  4. 我希望你能以某种方式找到这个答案。如果您想了解更多信息,我可以详细说明具体要点。