Visual Studio数据库项目和SQL Server管理

4
我喜欢使用SQL Server Management Studio来更改和更新我的数据库。它比我自己编写的更容易、更快速、更安全。
我正在研究一些数据库版本控制工具,并了解到可以在Visual Studio 2010中使用SQL Server Database Project。
我将现有的数据库脚本化并导入到一个新的SQL Server Database Project中。现在,据我所知,没有GUI界面来编辑数据库;我无法添加列、更改数据类型或编辑现有数据,除非我自己编写脚本。例如,在SQL Server Management Studio中,我可以右键单击表名并选择“设计”,然后从那里添加/编辑列、更改数据类型等。
虽然Visual Studio的Database Projects具有一些SQL Management Studio没有的功能,但我认为我无法没有“表设计器”。 VS的Database Project中是否内置了表设计器,而我只是没有看到?
4个回答

3

没有表格设计师。

如果你开始考虑对你的数据库进行版本控制,你应该也在考虑编写实际的SQL来实现你的数据库对象。这是Database Projects 强制你走的路线。如果你不能为你的数据库更改编写SQL,那么你如何能够审查和欣赏一个表格在6个月前和现在在你的项目中有何不同的差异呢?


1
首先,感谢您的回答。当然,我可以编写这些数据库对象的实际SQL;我也可以避免使用Linq,因为我可以自己编写所有查询。表设计器是一个非常棒的数据库设计工具,我非常熟练地使用它。“你如何能够审查和欣赏一个表在6个月前的差异” - 我不知道为什么您认为如果有一个表设计器,您就不能以后审查差异。 - David Murdoch
1
@David - 抱歉,答案仍然是否定的。我的个人经验是,我写SQL比尝试使用设计师更加高效,而且我从大多数人那里得到的印象是他们也有类似的经历。但是,如果你想要表格设计师,你必须坚持使用SSMS。 - Damien_The_Unbeliever

3
我已经使用VS2008数据库项目进行版本控制约10个月了。尽管偶尔仍会使用表设计器,但它是一个快速简便的工具。我认为你的问题主要集中在工作流程上,因为这是在版本控制环境下开发最具挑战性的部分。我建议继续在管理工具或其他你熟悉的工具中设计对象,然后创建脚本并将其导入到你的数据库项目中。这样做时有一些小技巧,即使在你的环境中执行更改操作,你仍需要始终编写创建语句。此外,你需要删除任何针对数据库的USE语句,因为你导入脚本的上下文始终是在你导入到的项目中。
我们发现,为了促进代码部署的成功工作流程,我们需要有一个生产分支,该分支分别分支到Main(开发分支)和测试分支。所有新开发都在Main中完成,并按变更集合合并到其他环境中。
你可以通过右键单击解决方案并单击导入脚本来从开发环境中导入脚本。我建议你勾选所有选项以覆盖现有对象、导入扩展属性和导入权限。

我必须同意...然而,任何阅读到这一点的人都应该已经达到了在创建和修改表时记忆一些简单命令的最佳状态。 - beauXjames

1

使用SSMS的GUI工具更改数据库架构后,您可以使用数据库项目的Schema Compare工具更新项目文件(将源设置为您的数据库,目标设置为您的项目)。这样,您就可以继续使用GUI工具来管理架构,而数据库项目将管理版本控制。


0

Visual Studio 2010数据库项目中没有可视化表设计器。但是,关于数据库的版本控制,有一个解决方法 - 您可以使用SQL Server Management Studio和Red Gate的SQL Source Control一起使用。
它需要一些费用,但绝对值得。


Red Gate SQL Source Control 现在支持更新的 SSDT 数据库项目,这使得使用 SSMS 和 VS 的团队可以并行工作。更多信息可以在 SSDT 论坛上找到:http://social.msdn.microsoft.com/Forums/en-US/ssdt/thread/0c763f98-c55a-44a7-9100-80a6d9223d04 - David Atkinson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接