什么是SQL Server数据库项目

可以直接在Visual Studio上创建数据库以及更新现有数据库的应用程序,可以对数据库进行版本控制,所采用的方式跟我们托管代码几乎一样。

团队成员可以能够签出文件,在独立的开发环境(或沙盒)中进行更改、生成和测试。

为了确保代码质量,还可以产生临时环境中特定的数据库版本完成和测试并部署到生产环境中。

所有这一切都在vs sql server database project项目中完成,甚至连开sql server managerent studio变得更少。

创建SQL Server数据库项目

在VS中可以找到SQL Server->SQL Server Database Project。

a1

项目属性可以调整我们部署的SQL Server版本。

a2

导入现有数据库。

右击项目,选择导入,有三种导入方式。

Data-tier Application:又叫DAC,这是SQL SERVER 2008 R2以上才有的,用于数据库管理。原则上DAC和SQL Server数据库项目是搭配使用,但我这里是针对后者。

Database:可以选择现有数据库,并自动生成所有项到项目中。

Script:即*.sql脚本。

完成导入后会看到一个完整的目录结构,包括:表、存储过程、视图。我们看到的全是一些*.sql文件。

发布SQL Server数据库项目

一但我们创建好表等后,我们可以直接发布,如同我们发布Web项目一般。

a3

指定相应不同的目标数据库,就可以部署到相应的环境当中。并且我们可以将这些发布配置保存到项目中,以后直接双击项目的发布文件可以直接发布。

每个*.sql文件都有对应的生成动作,包括:
1.None:不参与。
2.Build:参与编译。
3.PostDeploy:发布后执行。
4.PreDeploy:发布前执行。

有了这些我们可以做更多的事情,比如:数据库升级或数据初始化时的一些修正。

VS中的sql文件

  • 任意一个sql文件都可以直接右击执行、执行调试。
  • 重命名变量,这对重构时非常有用。
  • 插入代码片断,提高开发效率。

结构比较

右击项目可以创建一个结构比较,找出差异:

a4

以上。