SQL Server存储过程/触发器的版本控制

时间:2013-09-29 19:20:35

标签: sql sql-server-2008-r2

作为一名C#程序员,我熟悉使用TFS进行版本控制。但是,我正在做一些数据库工作,例如,我不想迷路的触发器。这是什么最佳做法?现在,我只是备份整个数据库(5演出),但这似乎有点过头了,因为我真的只想要结构/触发器等。

在搜索时,似乎有一个针对TFS 2010的SSMS插件。是否有人真正使用此功能? dba在这个问题上的典型特征是什么?

更新

我刚刚想到实现这一点的最简单,最简单的方法就是在我现有的项目中添加一个名为SQL的文件夹,然后添加一个* .sql文件。然后将其与项目中的任何其他文件一样检入TFS。通过单击它在VS中打开,它将打开新的“数据库工具”窗口,以便您可以运行SQL并在下面的窗格中查看结果。

第二次更新:

过去几天在Visual Studio中使用Sql Server Projects后,我真的很喜欢它们。它与使用SSMS有很大不同,但是一旦我了解了这些概念,它就能很好地运行。最重要的是,您最终会为您的数据库提供一套完整的脚本,这些脚本很容易保留在源代码管理中。

格雷格

2 个答案:

答案 0 :(得分:2)

Versioning a database directly from SSMS,可以使用ApexSQL Source Control完成。您没有脚本对象,在您的案例触发器中,然后将它们发送到存储库。此加载项本身支持TFS,因此在link a database and initial commit database objects之后,将实时跟踪所有更改。无论何时更改对象,更改都将显示在“操作中心”选项卡中,并且将标记更改。因此,您可以看到自上次将该对象的版本发送到存储库以来所发生的更改。

使用此加载项,您可以还原从将数据库链接到存储库时所做的每个更改。 使用此SSMS加载项可缩短检查所有更改的时间,因为它适用于您。

答案 1 :(得分:1)

我在很短的时间内使用它,并且在使用它时有很好的经验。但这取决于你对它的期望。您有更复杂的工具,如redgate,它使您能够在数据库环境中以原生方式工作,并使您的数据库与存储库保持同步。

SSMS插件会让你必须手动工作并有时仔细检查,看看你签到了你执行的所有内容。

有关详细信息,请查看:
http://blog.discountasp.net/using-team-foundation-server-2010-source-control-from-sql-server-management-studio/

http://www.techtree.co.uk/sql-server/management-studio-ssms/use-team-foundation-server-tfs-as-your-source-control-in-ssms/