BI项目中会有很多不同种类的项目,其中比较比较大的一部分就是对DB脚本的处理。然而DB的脚本毕竟无法在项目中进行维护,所以这里介绍如何对DB的脚本进行版本上的维护。
数据库脚本本身没有项目模板支持,很难进行版本管理维护,通常只能通过文件脚本的方式,比如通过Task将DB的定义导出到文件。
这种方法可以将DB里的相关对象,表,视图,存储过程以及函数等导出到文件。缺点是每次导出的时候很难知道每次导出跟上一次的版本变化在哪里。
这里介绍另外一种方法,就是通过Visual Studio里的工具,这里主要演示Visual Studio 2013版本。
新建一个SQL Server数据库项目。
新建项目后,选择工具,SQL Server下的"新建架构比较…"。
系统会打开架构比较工具,这个工具主要是比较两个数据源的架构是否有任何差异。
首先点击左侧选择数据源。
点击选择源…
选择数据库,然后新建数据库连接。
连接到目标数据库。这里使用微软官方的示例数据库做演示。
然后选择目标。
目标端选择项目,然后下拉框选择刚刚建立的项目。
设置好对比对象后,点击比较按钮。
系统会比较出两端的差异。由于项目是空的,所以对于数据源来说每个对象都是新的。
点击更新,可以将左侧的代码同步到项目中。
在解决方案管理器里,可以看到被同步过来的数据库对象文件。这样我们就将数据库的脚本文件同步到了项目文件中。
接下来再演示下如何通过这个工具获取到数据库里的变化。首先,在数据库里的函数定义里,加几段测试文本作为测试,看工具是如何识别出脚本的差异的。
回到刚才建立的项目,再次点击比较,可以看到系统识别出了这个变化。代码具体哪里发生了变化在下面的对比界面都可以清晰的看到。
点击同步,将这个变化同步到项目里。
打开Source Explorer,可以看到对应的文件变成了签出的状态。
签入代码,顺便加上Comment,这样后续就可以追溯到这个change的相关内容了。
本文介绍了数据库代码版本控制的一个方法。数据库代码的版本控制,在任何项目尤其是BI项目都是相当重要的,尽管没有现成的项目模板支持,通过Visual Studio的架构对比工具,可以辅助帮助数据库代码的版本管理。