Visual Studio Team System Database Edition(GDR)的真正好处是什么?

时间:2008-10-04 05:53:28

标签: sql-server database-tools

有兴趣,如果有人广泛使用VSTS数据库版,如果有的话,您认为哪些功能比标准的Visual Studio数据库项目最有用?

与RedGate的SqlCompare等替代架构管理选项或工具相比,最引人注目的功能是什么?

编辑:Microsoft刚刚发布了 RTM版本的Database Edition(GDR),它增加了对SQL Server 2008的支持 - 链接为here。我之前曾(简要地)发表过关于here.

的博客

有没有人有机会与东德做任何真正的工作?看起来有一些真正的增强功能,包括重构支持。我真的很想知道人们是否在SQL Server 2008中使用它...

从[http://www.microsoft.com/downloads/details.aspx?FamilyID=bb3ad767-5f69-4db9-b1c9-8f55759846ed&displaylang=en]

下载:

7 个答案:

答案 0 :(得分:7)

如果将它与RedGates之类的工具(特别是针对SQL Server进行比较)进行比较,那么如果您拥有正确的MSDN订阅,则无需为其他工具花费更多资金(但请记住RedGate工具)它更成熟了,它涵盖了其他工具未涵盖的一些要点(如数据库级别的回归测试和单元测试),并且它与VSTS的其他测试工具以集成的方式进行,因此您可以记录结果团队系统。
与Embarcadero ErStudio(我选择的解决方案)之类的工具相比,它错过了跨数据库功能,这是一个很大的问题,至少对我而言。
如果你是一个拥有正确MSDN订阅的“所有微软”商店,那么值得花时间在它上面。

答案 1 :(得分:7)

我们在Stack Overflow上使用Team Suite的数据库版本功能。正如Vaibhav所说,主要是有用的,因为它为您提供了一键式将数据库反向工程设计为源代码控制,并使其保持最新。

请注意,它也具有不错的数据和模式比较工具。您可以将项目与物理数据库进行比较,反之亦然。这使得无论您在何处进行更改(在文件系统数据库项目中,或在物理数据库本身中),都可以非常轻松地使数据库保持最新。

答案 2 :(得分:3)

我们目前正在使用GDR 2008项目来管理我们在绿地系统上的整个数据库开发和部署。我们使用TFS构建脚本调用MSBuild任务来部署数据库,同时执行数据生成计划以预先用数据填充测试环境。

数据生成计划的关键是找到要使用的构建任务:

TaskName="DataGeneratorTask"
AssemblyName="Microsoft.Data.Schema.Tasks, Version=9.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 

所有这些gdr项目的工作都非常有用,我认为了解这些项目类型非常值得学习。它们提供的价值在生产力和可见度方面是天文数字。

它允许我们所有人在一个可视化工作室解决方案中查看整个系统,同时允许我们在任何时间点通过单击deploy命令或自定义构建配置来开始清理我们的系统。

This blog 如果您有兴趣,将帮助您运行TFSBuild脚本。

答案 3 :(得分:2)

配置VSDB测试集成是如此痛苦,以至于我们放弃了它,而这是Red-Gate没有的唯一功能。

Red-Gate的工具更有用。它在文件夹中存在数据库和脚本,但也有“快照”。 Red-Gate SQL Compare的优势在于它的快照能力以及您的许可证允许您部署其程序集并使用它们在客户运行时执行数据库维护这一事实。

它在COTS应用程序中进行了升级,我开发了一件轻而易举的事。快照是二进制模式表示。您可以将它们打包为程序集中的资源,然后在客户运行时模式比较中使用快照,以使现有数据库达到当前转速。

答案 4 :(得分:2)

最好的优势可能是版本控制单个数据库模式对象(您可以使用较旧的“数据库项目”),但有能力“构建”/部署项目并将这些单独的脚本转换为一个完整的数据库。

如果您继承了数据库架构,则导入脚本并让向导将单个架构项转换为单独的文件的能力非常方便。

鉴于最近许可模式发生了变化,因此它更具吸引力,因为它包含在开发人员版SKU中。它还证明了对“数据库单元测试”的支持,这可能是有用的。

从2008 GDR,我了解到他们现在支持SQL Server 2008。

答案 5 :(得分:1)

您可以为其中一个进行数据库版本控制。这很有用。

真正有用的另一件事是能够定义用于测试的种子数据类型。通过此Visual Studio将使用随机数据填充数据库,这非常适合测试目的。

当然还有其他好处。

答案 6 :(得分:1)

将所有内容置于同一源代码控制之下总是有用的,因此您的数据库可以搁置,签入,与历史记录进行比较,甚至使用其他团队成员使用的相同工具解决工作项和错误。< / p>

另外,为了能够在整个应用程序中使用一种版本控制机制,换句话说,如果我的源代码控制具有我的项目的所有版本,而您的数据库不能适用于任何版本,则没有任何意义这些旧版本,除非您为每个版本拍摄数据库的备份或快照。