相关疑难解决方法(0)

Visual Studio 2010和SQL Server 2008脚本和数据库更新的源代码管理工具?

我们目前正在使用Visual Studio 2010和SQL Server 2008 R2 - 开发使用(多个)SQL Server数据库的Intranet ASP.NET应用程序.

我们一直在为源代码控制中的SQL Server存储脚本(用于数据库),与SQL Server Management Studio(SSMS)或Visual Studio等任何工具分开.也就是说,我们有一组包含表,存储过程等脚本的文本文件; 我们在更新它们之前(例如在Management Studio中)直接检查这些来源和源代码控制,然后重新检入它们(然后使用SSMS中的脚本来更新数据库).

我们现在想采用更加综合的方法.

我已看过一些的问题/答案在StackOverflow上就有关SQL Server的源代码控制(其中一些可以追溯到StackOverflow上的几乎开始),但没有发现任何优秀的解决方案.此外,某些条目早于Visual Studio 2010或SQL Server 2008或某些现在可用的工具.

我还阅读了有关此主题的其他文章,例如Troy Hunt的文章(例如:http://www.troyhunt.com/2011/02/automated-database-releases-with.html)和K. Scott Allen的文章(例如:http://odetocode.com/blogs/scott/archive/2008/02/02/versioning-databases-views-stored-procedures-and-the-like.aspx).

SQL Server Management Studio具有"数据库项目"的概念,但这显然是一个不推荐使用的功能,不建议用于新开发.

我们目前正在考虑的方法是:

(1)在Visual Studio 2010中创建SQL Server 2008数据库项目,并将其连接到源代码管理(例如,TFS或VSS).[此选项可能需要Visual Studio的Premium或Ultimate或Team Database Edition.

此方法将脚本视为"主",并从中创建/更新数据库以与脚本版本同步.

这种方法的理想特征是:全局搜索,查找/替换,重构,有关缺失索引的警告或无效引用的项目等.

缺点是:没有用于表和其他项的GUI设计器,通过对列的一些更改很容易丢失数据(因为"alter"脚本删除了列并重新创建它),缺少"format document"命令(在Visual Studio中可用)用于Web项目,但不用于数据库项目).

(2)在SQL Server Management Studio中使用Red-gate SQL源代码控制(和SQL Compare).

此方法基本上将数据库视为"主",并根据数据库设计的更改更新脚本.在许多方面,这与许多小型开发团队的工作方式更为匹配.

这种方法的主要优点是您可以使用所有SSMS工具和设计器.

缺点是设计完整性检查较少,没有查找/替换或全局搜索(不安装其他附加组件),使用SQL源代码控制生成的脚本在语法上与SSMS或Visual Studio本机生成的脚本不同(最终结果是一样的).

=====

您是否有替代方法的建议,您是否使用/喜欢将SQL Server数据库的源代码控制集成到SQL Server Management Studio或Visual Studio 2010中的特定工具或实用程序,以及如何更新/同步开发和生产数据库有变化吗?

我还为此目的查看了一些其他软件实用程序/工具(其中一些已在其他StackOverflow主题中提到):

SQL Examiner(一种可能性,虽然它是一个完全独立的工具;没有集成到SSMS或Visual Studio中)

LiquiBase(Apache/Java,还没有.NET)

NeXtep(尚未支持SQL Server) …

sql-server version-control visual-studio

14
推荐指数
2
解决办法
9574
查看次数