[转]Visual Studio 2008中如何比较二个数据库的架构【Schema】和数据【Data】并同步
使用场景:
在团队开发中,每一个人都有可能随时更新数据库,这时候数据库中数据和架构等信息都会发生变化。如果更新不及时,就会发生数据错误或数据丢失的风险,影响团队的开发效率和 项目进度,这时候我们该怎么办呢?VS2008 Team System版本中就提供了解决这个问题的工具。使用这个工具,我们可以比较数据库更改前后的架构和数据的具体改变信息,并且可以生成数据和架构更新脚本,在原来的老数据库中执行脚本,就可以将数据库更新到最新,而且数据库中没有变更的数据和架构不会受到影响。
比较之前,首先一定要备份目标数据库【Target Database】,以防万一数据更新失败。将目标数据库【Target Database】和源数据库【Source Database】一起附加到SQL Server 2005中,然后在VS2008中分别添加二个连接字符串,连接这二个数据库。
建议:将从服务器【SVN】上Down下来的数据库作为Target Database,将我们本机上更新过的数据库作为Source Database,进行架构和数据比较并更新,确认更新成功后,提交Target Database至服务器。
在本实例中,ISACADB为待更新的目标数据库,ISACADB-S为待比较的源数据库,比较更新后的结果是ISACADB被更新到与ISACADB-S一致。
VS2008中比较二个数据库的架构【Schema】并更新的步骤:
一、打开VS2008,点击菜单上的Data==>Schema Compare==>New Schema Comparison…

二、在弹出窗体中,按下图分别在Source Schema下和Target Schema下选择相应的Database,其中Source Schema下选择的数据库【ISACADB-S】是待比较的数据源,是Target Schema下选择的数据库【ISACADB】被更新的依据。

三、选择好数据库后,点击OK按钮,开始执行架构比较,完成后,显示如下界面。
选择图中上面的数据库表或存储过程,下面的窗口二侧会分别以不同颜色高亮显示Source和Target Database中不相同部分的内容。

四、点击VS2008中如下图的工具栏中的紫色方框内的按钮【Show Schema Update Script】,会在vs2008的下方显示整个数据库的全部更新脚本;点击其右侧的刷新【Refresh】按钮,则会重新进行比较;点击Write Updates按钮,会直接执行更新,使Target Database的架构与Source Database一致,点击Write Updates左侧的按钮,可以重新设置Compare的二个Database;最左侧的按钮可以设置显示那些比较的结果。


五、导出脚本,可以直接复制上衣步骤中的脚本,也可以点击VS2008中如下图的工具栏的二个按钮,Export To Editor是将脚本导出到VS2008中的编辑器中,Export To File则是将脚本导出到文件中。

六、执行上一步导出的脚本,将Target Database的架构更新到与Source Database的架构一致。
七、在Target Database执行更新脚本成功后,检查Target Database的架构更新是否正确。方法是:将更新后的Target Database与Source Database进行架构比较,看比较结果是否完全一致,如果不一致,则检查错误原因;或者恢复原来的Target Database【已备份】,重新进行更新,直到更新正确。
VS2008中比较二个数据库的数据并更新的步骤:
一、打开VS2008,点击菜单上的Data==> Data Compare==>New Data Comparison…

二、在弹出窗体中,按下图分别在Source Database下和Target Database下选择相应的Database,其中Source Database下选择的数据库【ISACADB-S】是待比较的数据源,是Target Database下选择的数据库【ISACADB】被更新的依据。并在下面设置比较条件,点击Next按钮则可以进一步设置要比较的Tables、StoredProcedures、Views等,点击Finish则直接按默认【只比较Tables】进行数据比较。

三、点击Finish按钮后,开始执行数据比较,完成后,显示如下界面。

VS2013数据库工具菜单位置有变化,如下图。

转自:http://www.cnblogs.com/ttzhang/archive/2008/11/01/1324078.html
[转]Visual Studio 2008中如何比较二个数据库的架构【Schema】和数据【Data】并同步的更多相关文章
- Visual Studio 2008中添加运行按钮 转载
在Visual Studio 2008中添加运行按钮 默认情况下,VS2008中的工具栏上没有运行按钮,只有调试(Debug)按钮,可按照以下方法添加 1.点击菜单Tools(工具)->Cust ...
- 在ASP.NET MVC5 及 Visual Studio 2013 中为Identity账户系统配置数据库链接及Code-First数据库迁移
在ASP.NET MVC5 及 Visual Studio 2013 中为Identity账户系统配置数据库链接及Code-First数据库迁移 最近发布的ASP.NET MVC 5 及Visual ...
- 【转】Visual Studio 2008 可扩展性开发(二):Macro和Add-In初探
前言 在VS概览中,我们简单回顾了一下VS的历史.本文将通过两个简单的例子来说明Macro和Add-In的开发.通过Macro我们把VS中的一些重复操作录制下来,之后可以多次运行,节省时间并保持好的心 ...
- Visual Studio 2008中FormatX源代码格式化插件
原地址:http://www.cr173.com/html/15492_1.html 我总是对组里的兄弟代码规范性近乎完美的要求,举个简单的例子: 1. 每个方法必须有注释,方法参数详细说明 2. ...
- visual studio 项目中使用EF创建的数据库,后续更新数据库操作(生产已经部署,不能删除数据库重新创建)
情景:SharePoint项目(其他类型的项目道理也一样),数据库是用EF(版本:6.0.0.0)创建的,生产环境已经使用,所以后续修改数据库,只能通过更新来实现. 下面是具体的操作方式: 1.vis ...
- Visual Studio 2008中控制台程序一闪而过的解决方法
VS2008中编写C/C++的程序时,调试运行,控制台窗口会在执行完毕后立即关闭,这样就无法看到运行的结果.为了解决这个问题,可以使用①system("pause"); ②getc ...
- 使用Visual Studio 2008创建你的第一个Windows Mobile程序介绍
使用Visual Studio 2008创建你的第一个Windows Mobile程序介绍 Windows MobileMobileWindowsMicrosoftWinForm 介绍 Microso ...
- 如何在Visual Studio 2017中使用C# 7+语法 构建NetCore应用框架之实战篇(二):BitAdminCore框架定位及架构 构建NetCore应用框架之实战篇系列 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架 NetCore入门篇:(十二)在IIS中部署Net Core程序
如何在Visual Studio 2017中使用C# 7+语法 前言 之前不知看过哪位前辈的博文有点印象C# 7控制台开始支持执行异步方法,然后闲来无事,搞着,搞着没搞出来,然后就写了这篇博文,不 ...
- 在Visual Studio 2012中使用VMSDK开发领域特定语言(二)
本文为<在Visual Studio 2012中使用VMSDK开发领域特定语言>专题文章的第二部分,在这部分内容中,将以实际应用为例,介绍开发DSL的主要步骤,包括设计.定制.调试.发布以 ...
随机推荐
- eclipse下的web开发问题总结[struts2文件上传]
最近需要做一个web方面的文件上传的Demo.开发工具是eclipse[具体名称:Eclipse IDE for Java EE Developers 版本:2.0.0.20130613-0530]. ...
- Vim应用
:q!不保存退出 :set number显示行数 :wq保存并退出 ==先输入100,再输入==.从这行开始向下100行,进行自动缩进对齐
- #include <boost/scoped_ptr.hpp>
多个元素使用#include <boost/scoped_array.hpp> 单个元素使用#include <boost/scoped_ptr.hpp> 作用域指针 它独占一 ...
- IOS开发(objective-c)~开篇有理
自从6月份买了iphone5之后,心里都是觉得不学点IOS开发,始终觉得有点浪费,而且咱还学习C,C++,java,C#,有了这些基础,再不学这个Objective-c确实有点可惜了,所以,说干就干, ...
- 聚类算法初探(五)DBSCAN
最近由于工作需要,对聚类算法做了一些相关的调研.现将搜集到的资料和自己对算法的一些理解整理如下,供大家参考. 另外在算法代码方面,我也做了一些实现(包括串行和并行),欢迎感兴趣的朋友探讨和交流. 第一 ...
- UEditor用法
UEditor是百度的编辑器,界面美观,功能强大,用起来还不错. 详见该链接http://ueditor.baidu.com/ 一.下载 http://ueditor.baidu.com/downlo ...
- 8位(bit)=1字节(Byte)
8位(bit)=1字节(Byte),1024字节=1KB: 提到了字节,不得不再提到“字”这个计量单位:“字”由若干个字节构成,字的位数叫做字长,字长就是说字所对应的二进制数的长度.不同的机器有不同的 ...
- T-SQL事务
事务 订火车票的时候,下一个订单,这个订单中,包含多个购买信息,要么全部执行,要么全部不执行,合作事务就是来处理这种模型的一种机制. --关键字:transaction 或 tran 简写形式 --开 ...
- Android 上多方式定位元素(python)
Android 上多方式定位元素(python) 在学习实际UI自动化测试的时候,首先就需要定位元素,然而定位元素也是最头疼的地方,因为元素各种控件名称的缺失会影响元素的准确定位.下面针对Androi ...
- hdu 4709 Herding hdu 2013 热身赛
题意:给出笛卡尔坐标系上 n 个点,n不大于100,求出这些点中能围出的最小面积. 可以肯定的是三个点围成的面积是最小的,然后就暴力枚举,计算任意三点围成的面积.刚开始是求出三边的长,然后求面积,运算 ...