【问题标题】:Moving Stored Procedures from SSMS into TFS 2012将存储过程从 SSMS 移至 TFS 2012
【发布时间】:2013-08-27 00:30:15
【问题描述】:

我需要将我的所有存储过程都移到 TFS 2012 中。我想知道完成此任务的最佳/最快方法是什么。我正在使用 SQL Server 2012。

【问题讨论】:

  • 您可以生成所有存储过程的单个脚本(例如,通过使用 wizard ),然后将其签入源代码管理。或者,根据您的 Visual Studio 版本,您可以执行类似从现有 SQL Server 2012 数据库创建数据库项目 reverse engineer 之类的操作,然后将 DB 项目签入源代码管理
  • 我同意数据库项目绝对是要走的路
  • 这是一次性任务,还是您打算定期执行此任务?

标签: sql-server tfs sql-server-2012


【解决方案1】:

我们的建议是使用 SQL Server Data Tools (SSDT) 并在 Visual Studio 中创建一个数据库架构更改管理项目,然后您可以将其签入到 Team Foundation Server。它有很多好处,例如能够“编译”模式,并具有可用于为目标服务器(无论它们是空服务器、测试服务器还是生产服务器)生成自动更改脚本的工具。

http://msdn.microsoft.com/en-us/data/tools.aspx

【讨论】:

  • +1,这就是我们所做的 - 没有那些纯 delta 且不考虑数据转换的蹩脚的自动更改脚本。但这是开始对数据库模式进行版本控制的好方法。
【解决方案2】:

SSDT 绝对是要走的路,它是 Visual Studio 的一个组件。 SSDT 用于数据库项目,SSDT-BI 用于报告等。

在 Visual Studio 中创建一个数据库项目,并将您的数据库对象(存储过程、视图、函数、表、架构等)添加到项目中。它允许将所有数据库对象存储在其中(甚至是数据库角色/用户、证书、密钥等)。

或者,您可以使用 Visual Studio 从服务器导入数据库。它将读取您的数据库并使用该数据库中的所有对象填充项目。很酷。

您可以像处理任何其他允许您进行版本控制(使用 cmets)的项目一样签入 TFS,将该工作附加到 TFS 票证(如果您以这种方式管理工作负载)并执行分支和合并,您可以还将项目的不同版本或项目与已部署的版本进行比较。

一旦您对数据库感到满意,您就可以将您的项目“发布”到您选择的服务器上。这是创建可以部署到多个环境(即不同的开发/测试环境)的代码的非常有用的方法。您还可以将您的项目与已部署的版本进行比较以查看更改。例如,您可以将您的项目与测试环境进行比较,看看有什么不同,然后生成一个脚本来更新测试环境以匹配源(反之亦然)。

SSDT 非常适合部署,因为它会计算如何应用您的数据库项目(而不是仅仅删除数据库并创建一个新数据库)。例如,您还可以使用部署前和部署后脚本来处理数据或向对象添加权限。

您可以发布到数据库/服务器、脚本或 DACPAC(这是复制整个项目/数据库架构的格式,并允许您从 Visual Studio 外部执行部署/漂移报告等)

【讨论】:

    猜你喜欢
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多