在我的公司,我们当前更新数据库的方法是使用VS2005中的服务器资源管理器进行连接,然后通过打开和编辑来修改存储过程。这里的开发人员似乎喜欢“编写并保存它就像它的代码”心态。它非常方便,当我们需要调整某些东西时,它如何自动将Create转换为Alter并在现有数据库上运行脚本。
最近,在服务器崩溃期间,当我们丢失了许多尚未备份的更改时,这一点非常困难。我正在推动它所属的SQL开发:在DB Projects中我们可以将它们与其他代码一起放入SVN。另一种方法是每晚备份数据库。
我对数据库项目了解不多,或者他们的工作流程如何。我担心,如果我不能得到与他们当前型号相似的功能,他们就不会切换。有关维护我们当前工作模式的任何想法,但切换到DB Projects?
答案 0 :(得分:2)
如果开发人员制定规则(并且您的帖子听起来像他们那样),那么只有新工作流程“更好”到他们时才能继续。作为一名开发人员,我认为应该是这样的。我看到一些非开发人员认为非常荒谬的开发过程,并强迫开发人员对每个人都有害。
如果您正在考虑VS DB项目,那么首先要测试VS DB是否真正适用于您的数据库。如果是这样,你必须设置一个很大的机会:数据库的“真实”副本现在在VS DB而不是数据库服务器。
另一种方法是定期备份开发服务器。如果您每天备份它,并且每小时备份一次事务日志,则很难完成大量工作。
或者创建一个将整个数据库定义写入文本文件的预定作业。 (编写数据库中的所有对象。)这些文件通常非常小,因此您可以保留很长的积压。
许多受人尊敬的博主似乎认为在SVN中存储数据库定义是个好主意。请参阅此coding horror帖子或相关的Stack Overflow相关问题How do I version my MS SQL database in SVN。
与开发人员讨论,看看你能达成一致意见。