【问题标题】:What are the real benefits of Visual Studio Team System Database Edition (GDR)?Visual Studio Team System 数据库版 (GDR) 的真正优势是什么?
【发布时间】:2016-02-19 01:07:37
【问题描述】:

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

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

编辑:Microsoft 刚刚发布了数据库版 (GDR) 的 RTM 版本,它增加了对 SQL Server 2008 的支持 - 链接是 here。我之前曾在博客上(简要地)写过here.

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

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

【问题讨论】:

  • 我有兴趣了解/了解其他人在其 SCM 和构建过程中集成 vsts dbpro GDR 的经验。 “相关问题”列表似乎没有链接到任何类似问题。

标签: sql-server database-tools


【解决方案1】:

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

请注意,它也有不错的数据和架构比较工具。您可以将项目与物理数据库进行比较,反之亦然。无论您在文件系统数据库项目中还是在物理数据库本身中进行更改,这都可以很容易地使您的数据库保持最新状态。

【讨论】:

  • 任何数据库,还是像许多其他 Microsoft 工具一样只是 SQL Server?
【解决方案2】:

如果您将其与专门为 SQL Server 定制的 RedGates 等工具进行比较,其好处是,如果您拥有适当的 MSDN 订阅,则不必为其他工具花费更多的钱(但请记住,RedGate 工具更成熟),它涵盖了其他工具没有涵盖的一些点(如回归测试和数据库级别的单元测试),并且它以与 VSTS 的其他测试工具集成的方式进行,以便您可以将结果记录在团队系统。
与 Embarcadero ErStudio(我选择的解决方案)之类的工具相比,它缺少跨数据库功能,这是一个大问题,至少对我来说是这样。
如果您是一家“全微软”的商店,并且订阅了正确的 MSDN,那么花时间在上面可能是值得的。

【讨论】:

    【解决方案3】:

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

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

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

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

    它允许我们所有人在单个 Visual Studio 解决方案中查看整个系统,同时允许我们通过单击部署命令或自定义构建配置在任何时间点从一个干净的系统开始。

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

    【讨论】:

    • 您是否会部署到多个环境(使用不同的数据)?
    【解决方案4】:

    VSDB 测试集成配置起来非常痛苦,我们放弃了它,而这是 Red-Gate 唯一没有的。

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

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

    【讨论】:

    • 我们相信我们通过引入 SQL 源代码控制 (red-gate.com/products/SQL_Source_Control) 进一步改进了 Red Gate 的故事。现在快照几乎是多余的,因为源代码控制版本/修订是“免费”记录的。与 SSMS 集成意味着您将不再需要启动单独的工具。
    【解决方案5】:

    可能最大的优势在于能够对单个数据库架构对象进行版本控制(您可以使用较旧的“数据库项目”),但可以“构建”/部署项目并将这些单个脚本转换为一个完整的数据库。

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

    鉴于最近许可模式发生了变化,这使得它更加诱人,因为它包含在开发者版 SKU 中。它还提供了对可能有用的“数据库单元测试”的支持。

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

    【讨论】:

      【解决方案6】:

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

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

      当然还有其他好处。

      【讨论】:

        【解决方案7】:

        将所有内容置于同一个源代码控制之下总是很有用的,这样您的数据伙伴就可以搁置、签入、与历史记录进行比较,甚至使用其他团队成员使用的相同工具来解决工作项和错误。

        还能够在整个应用程序中使用一种版本控制机制,换句话说,说我的源代码控制拥有我的项目的所有版本而您的数据库不适合任何版本是没有意义的这些旧版本,除非您在每次构建时都对数据库进行备份或快照。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-11
          • 2011-12-22
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多