作为一名C#程序员,我熟悉使用TFS进行版本控制。但是,我正在做一些数据库工作,例如,我不想迷路的触发器。这是什么最佳做法?现在,我只是备份整个数据库(5演出),但这似乎有点过头了,因为我真的只想要结构/触发器等。
在搜索时,似乎有一个针对TFS 2010的SSMS插件。是否有人真正使用此功能? dba在这个问题上的典型特征是什么?
更新
我刚刚想到实现这一点的最简单,最简单的方法就是在我现有的项目中添加一个名为SQL的文件夹,然后添加一个* .sql文件。然后将其与项目中的任何其他文件一样检入TFS。通过单击它在VS中打开,它将打开新的“数据库工具”窗口,以便您可以运行SQL并在下面的窗格中查看结果。
第二次更新:
过去几天在Visual Studio中使用Sql Server Projects后,我真的很喜欢它们。它与使用SSMS有很大不同,但是一旦我了解了这些概念,它就能很好地运行。最重要的是,您最终会为您的数据库提供一套完整的脚本,这些脚本很容易保留在源代码管理中。
格雷格
答案 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插件会让你必须手动工作并有时仔细检查,看看你签到了你执行的所有内容。