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脚本同步的更多相关文章

  1. BI项目记笔记索引

    这个笔记系列主要记录了在BI项目中,如何搭建环境进行源代码管理以及文档管理. 用到的产品包括: TFS Express Sharepoint Visual Studio SQL Server   配置 ...

  2. [BI项目记]-对项目文件进行规划

    BI项目中会有很多不同种类的项目,此篇会对这些项目进行一个总结,并且在TFS中进行分类. 根据笔者对BI项目的经验和理解,主要将BI项目中的项目类型进行如下分类: DB脚本 DB脚本是BI项目中重要的 ...

  3. [BI项目记]-搭建代码管理环境之服务端

    上一篇介绍如何搭建环境进行文档版本的管理,这篇主要介绍搭建环境进行代码版本的管理. 即使是BI项目也要进行代码版本管理.代码版本管理的工具有很多,VSS, SVN等都是当下大家经常提起的,这里主要介绍 ...

  4. [BI项目记]-搭建代码管理环境之创建团队项目

    此篇主要介绍如何基于TFS环境创建团队项目来进行项目代码的版本管理工作,这一系列将侧重于BI项目,当然对于其它项目也同样适用. 在TFS里开始一个项目,我们首先需要创建一个团队项目. 在Team Ex ...

  5. [BI项目记]-搭建代码管理环境之签入代码

    此篇主要介绍如何基于TFS环境创建进行BI项目最简单的代码签入和签出工作. 首先介绍BI项目中的SSAS项目.SSAS项目主要包含Cube多维数据集和数据挖掘模型,是在微软BI产品体系中重要的一个组件 ...

  6. [BI项目记]-TFS Express备份和恢复

    在项目中对TFS进行备份操作是日常重要的工作之一,此篇主要描述如何对TFS Express进行备份,并且在另外一台服务器上进行恢复. 以下是操作的几个关键点: 备份数据库,在TFS管理工具中就可以完成 ...

  7. [BI项目记]-BUG处理

    BUG是在项目过程中以及运维过程中经常遇到的工作项.在处理每一个BUG的过程中,通过项目管理系统把BUG相应的内容纪录下来也是很重要的.这里将介绍如何通过TFS来完成BUG的处理工作. 首先看一下BU ...

  8. [BI项目记]-新任务处理

    上一篇主要介绍如何借助TFS创建一个新的工作项,此篇主要演示如何对其进行处理. 首先回顾下新工作项不同阶段的定义. 接下来进入到开发阶段,根据需求创建五个报表.打开SQL Server Data To ...

  9. [BI项目记]-新任务创建

    上一篇介绍了如何处理一个Bug工作,此篇主要介绍如何借助TFS对于一个新需求创建一个新的工作项. 这里假定,有一个新的需求,需要创建五个报表. 然后开发的工作流程如下: 这个流程总结起来大致如下: 首 ...

随机推荐

  1. 分享我的开源项目-springmore

    之前有在博客园分享过springmore,不知道是什么原因,被管理员移除首页 在此郑重声明,这是我个人的开源项目,东西不多,也不存在打广告,也没有什么利益可图 完全是出于分享的目的,望博客园管理员予以 ...

  2. 公司VPN信息

    公司VPN证书信息(请妥善留档本邮件) 管理 管理员 <admin@pansoft.com> 2016/12/12 11:00   收件人: huhuan@pansoft.com   × ...

  3. Windows 新装进阶操作指南

    Windows禁用CTRL+Space切换输入法 注册表打开HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000010 把Key Mo ...

  4. js 中关于this用变量存起来的原因

    近来,不忙,总是在网上看大牛的博客,发现关于this指向的情况,有的说是4种,也对,有的就是总结一句话,也对,但是我发现一种特殊情况,例子如下 var show={ btn:$('.div1'), i ...

  5. yii2 composer安装

    安装Yii2 1.安装composer 在命令行输入 curl-sS https://getcomposer.org/installer | php mv composer.phar /usr/loc ...

  6. C# 的tcp Socket设置自定义超时时间

    简单的c# TCP通讯(TcpListener) C# 的TCP Socket (同步方式) C# 的TCP Socket (异步方式) C# 的tcp Socket设置自定义超时时间 C# TCP ...

  7. [Unity] 导出Android APK包出错

    确认Android环境是OK的. 检查 StreamingAssets 目录下是否有中文的文件名 检查其它目录的中文文件名. 移除一些插件再试.

  8. 全文搜索 Lucene.Net

    Lucene简介 首先说明的是--Lucene.Net只是一个全文检索开发包,不是一个成型的搜索引擎, 它的功能就是负责将文本数据按照某种分词算法进行切词,分词后的结果存储在索引库中,从索引库检索数据 ...

  9. .edmx 文件概述(实体框架)

    (一) 认识.edmx文件结构 参考资料: .edmx 文件概述(实体框架) Entity Framework 全面教程详解(转) Entity Framework 教程 Entity Framewo ...

  10. 汤森路透为何一定要卖掉SCI?

    http://health.sohu.com/20160714/n459331727.shtml