[BI项目记]-DB脚本同步
BI项目中会有很多不同种类的项目,其中比较比较大的一部分就是对DB脚本的处理。然而DB的脚本毕竟无法在项目中进行维护,所以这里介绍如何对DB的脚本进行版本上的维护。
数据库脚本本身没有项目模板支持,很难进行版本管理维护,通常只能通过文件脚本的方式,比如通过Task将DB的定义导出到文件。

这种方法可以将DB里的相关对象,表,视图,存储过程以及函数等导出到文件。缺点是每次导出的时候很难知道每次导出跟上一次的版本变化在哪里。
这里介绍另外一种方法,就是通过Visual Studio里的工具,这里主要演示Visual Studio 2013版本。

新建一个SQL Server数据库项目。

新建项目后,选择工具,SQL Server下的"新建架构比较…"。

系统会打开架构比较工具,这个工具主要是比较两个数据源的架构是否有任何差异。
首先点击左侧选择数据源。

点击选择源…

选择数据库,然后新建数据库连接。

连接到目标数据库。这里使用微软官方的示例数据库做演示。

然后选择目标。

目标端选择项目,然后下拉框选择刚刚建立的项目。

设置好对比对象后,点击比较按钮。

系统会比较出两端的差异。由于项目是空的,所以对于数据源来说每个对象都是新的。

点击更新,可以将左侧的代码同步到项目中。

在解决方案管理器里,可以看到被同步过来的数据库对象文件。这样我们就将数据库的脚本文件同步到了项目文件中。

接下来再演示下如何通过这个工具获取到数据库里的变化。首先,在数据库里的函数定义里,加几段测试文本作为测试,看工具是如何识别出脚本的差异的。

回到刚才建立的项目,再次点击比较,可以看到系统识别出了这个变化。代码具体哪里发生了变化在下面的对比界面都可以清晰的看到。
点击同步,将这个变化同步到项目里。

打开Source Explorer,可以看到对应的文件变成了签出的状态。

签入代码,顺便加上Comment,这样后续就可以追溯到这个change的相关内容了。

本文介绍了数据库代码版本控制的一个方法。数据库代码的版本控制,在任何项目尤其是BI项目都是相当重要的,尽管没有现成的项目模板支持,通过Visual Studio的架构对比工具,可以辅助帮助数据库代码的版本管理。
[BI项目记]-DB脚本同步的更多相关文章
- BI项目记笔记索引
这个笔记系列主要记录了在BI项目中,如何搭建环境进行源代码管理以及文档管理. 用到的产品包括: TFS Express Sharepoint Visual Studio SQL Server 配置 ...
- [BI项目记]-对项目文件进行规划
BI项目中会有很多不同种类的项目,此篇会对这些项目进行一个总结,并且在TFS中进行分类. 根据笔者对BI项目的经验和理解,主要将BI项目中的项目类型进行如下分类: DB脚本 DB脚本是BI项目中重要的 ...
- [BI项目记]-搭建代码管理环境之服务端
上一篇介绍如何搭建环境进行文档版本的管理,这篇主要介绍搭建环境进行代码版本的管理. 即使是BI项目也要进行代码版本管理.代码版本管理的工具有很多,VSS, SVN等都是当下大家经常提起的,这里主要介绍 ...
- [BI项目记]-搭建代码管理环境之创建团队项目
此篇主要介绍如何基于TFS环境创建团队项目来进行项目代码的版本管理工作,这一系列将侧重于BI项目,当然对于其它项目也同样适用. 在TFS里开始一个项目,我们首先需要创建一个团队项目. 在Team Ex ...
- [BI项目记]-搭建代码管理环境之签入代码
此篇主要介绍如何基于TFS环境创建进行BI项目最简单的代码签入和签出工作. 首先介绍BI项目中的SSAS项目.SSAS项目主要包含Cube多维数据集和数据挖掘模型,是在微软BI产品体系中重要的一个组件 ...
- [BI项目记]-TFS Express备份和恢复
在项目中对TFS进行备份操作是日常重要的工作之一,此篇主要描述如何对TFS Express进行备份,并且在另外一台服务器上进行恢复. 以下是操作的几个关键点: 备份数据库,在TFS管理工具中就可以完成 ...
- [BI项目记]-BUG处理
BUG是在项目过程中以及运维过程中经常遇到的工作项.在处理每一个BUG的过程中,通过项目管理系统把BUG相应的内容纪录下来也是很重要的.这里将介绍如何通过TFS来完成BUG的处理工作. 首先看一下BU ...
- [BI项目记]-新任务处理
上一篇主要介绍如何借助TFS创建一个新的工作项,此篇主要演示如何对其进行处理. 首先回顾下新工作项不同阶段的定义. 接下来进入到开发阶段,根据需求创建五个报表.打开SQL Server Data To ...
- [BI项目记]-新任务创建
上一篇介绍了如何处理一个Bug工作,此篇主要介绍如何借助TFS对于一个新需求创建一个新的工作项. 这里假定,有一个新的需求,需要创建五个报表. 然后开发的工作流程如下: 这个流程总结起来大致如下: 首 ...
随机推荐
- Python笔记(2)函数
python中一切皆对象,函数也看做对象.函数被函数名所引用,但是同样的他也可以被其他标识符所引用,可以作为参数传递. def f(): return "hi" 可见a引用了函数返 ...
- Windows 10一周年更新正式版官方ISO镜像(1607)
微软已经开始推送Win10一周年更新正式版系统,按照此前预告微软官方网站也同步推出了Win10一周年更新正式版ISO官方镜像下载,版本已经升级到最新的1607,也就是Win10 Build 1607, ...
- LNMP搭建(yum)
CentOS官方镜像不提供nginx,http://nginx.orghttp://nginx.org/en/linux_packages.html#stable yum install nginx ...
- Photon服务器进阶&一个新游戏的出产(三)
下面或许该介绍介绍我用Photon写的一个4人联机麻将了~ 上图
- html页面输入框input的美化
input输入框是网页必不可少的组件,可是每个浏览器对于输入框的显示样式各有不同 例如: 上图分别就是谷歌浏览器和IE浏览器自带显示的输入框,样式也不足人意,所以大多都会自己写样式 以下是一个简 ...
- SAX与DOM
http://www.cnblogs.com/zhulin/archive/2012/05/03/2480962.html 在解析xml时(如浏览器解析html标签),主要存在两种方式:SAX模式和D ...
- HTML5新标签 w3c
w3c标准下的HTML5新标签 ,做个归纳总结: H5标签 定义和用法 兼容性 <artical> 规定独立的自包含内容, 支持html中的全局属性, 支持html中的事件属性 IE: 支 ...
- 转-ArcGIS Engine中的License设置
AE开发中的License有两种方法进行设置,一种是通过LicenseControl控件,另一种是通过IAoInitialize接口设置.整个应用程序中只能有一种方式存在,如果进行了两种License ...
- fedora23的打印服务
cups: common unix printing system. 是通用的打印服务. whatever 不管什么; whichever: 不管哪个 可以使用 http://localhost:63 ...
- 以空白符结尾的 alias
网上经常有人问这个问题:为什么我写的 alias 在 sudo 下就不管用了? $ alias 'll=ls -l' $ sudo ll a-private-dir sudo: ll: command ...