如何使我的visualstudio数据库项目与数据库同步?


11

我想将数据库架构与Visual Studio .dbproj数据库项目同步。

现在,我在大多数数据库开发工作中都使用SSMS,并且在需要同步db模式和.dbproj时,必须手动使用Visual Studio的模式比较工具。我为什么要这个?因为:

  • 这是签入更改的唯一方法
  • 这是应用更改的唯一方法
  • 否则,将在获取文件时引起一些合并问题(基本上,如果“获取最新”包含我一直在更新的db对象上的某些db更改,而无需检出它们,则不会触发合并,并且很容易跟踪哪个版本是哪个)
  • 很高兴能够在最新版本的架构中使用VisualStudio的搜索功能
  • 很高兴能够使用搜索结果从VS修改存储过程(通常是在重命名文件时)。

除了自动执行“模式比较”工具使其每5分钟运行一次(这听起来几乎不是“干净”的解决方案)之外,还有其他方法可以实现此目的吗?

我想尽可能地使用SSMS,但我也对将使用Visual Studio的“服务器资源管理器/数据库连接”所做的更改自动传播到.dbproj的方法感兴趣。


您是否找到了一种将数据库项目与SSMS同步的方法?

Answers:


4

SQL Server Management Studio主要是一种SQL Server管理工具,因此不一定要构建为支持您要寻找的方案。

Visual Studio Team System 2008数据库版和Visual Studio Team System 2010 Pro / Ultimate包括数据库开发人员工具(VSDB),以帮助拥有大量数据库资产的人员集成其数据库架构/视图/进程/等。开发应用程式。

VSDB允许您将现有数据库的架构反向工程到Visual Studio项目中,以便您可以对每个架构元素脚本文件进行源代码控制。您也可以修改/创建SQL Server架构脚本,以创建SQL 2005/2008/2010支持的几乎所有架构元素。

VSDB还支持将完整/部分数据库架构更新部署到空/现有数据库的功能,在该数据库中,VSDB会做大量工作以尝试仅应用必要的更改来修改现有数据库(如果存在),从而反映数据库的结构。源VSDB数据库项目。

VSDB还包括许多工具,可帮助您比较数据库和/或数据库项目之间的架构,还允许您比较和合并表内容。

但是,请注意,尽管今天已支持此工具集,但此后该团队已经解散,产品处于维护模式。现在,SQL Server产品组负有为开发人员创建工具的责任,并且正为此而努力:)


1
我已经是VS 2010数据库功能的用户。但是我还没有找到如何使用它来立即同时修改我的数据库项目和我的数据库项目。在每次修改后运行模式比较是非常麻烦的... :(
Brann

昨天开始看VSDB之后,我发现您的最后一段相当令人震惊。听起来我不应该花很多时间或精力...?
Benjol,2012年

1

我知道VS2010的最终功能有两种实现方法。

  1. 使用SSMS或其他工具来编辑数据库架构,然后定期(当天结束)运行架构比较,然后将任何架构更改导入数据库项目。
  2. 通过VS编辑数据库项目中的文件,然后创建一个部署包,该部署包可以直接在数据库上运行,也可以生成脚本以供您运行以更新数据库中的架构。

我认为第二种解决方案是最佳解决方案。您可以设置一个部署过程,只需单击一下即可。在Visual Studio中编辑文件将自动将其签出源代码管理。我已经使用了第一种方法,但是很难总是进行模式比较。另外,至少对我而言,架构比较工具使Visual Studio崩溃很多。
克里斯·哈珀
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.