Visual Studio 2008中如何比较二个数据库的架构【Schema】和数据【Data】并同步

简介: 使用场景: 在团队开发中,每一个人都有可能随时更新数据库,这时候数据库中数据和架构等信息都会发生变化。如果更新不及时,就会发生数据错误或数据丢失的风险,影响团队的开发效率和 项目进度,这时候我们该怎么办呢?VS2008 Team System版本中就提供了解决这个问题的工具。

使用场景:

在团队开发中,每一个人都有可能随时更新数据库,这时候数据库中数据和架构等信息都会发生变化。如果更新不及时,就会发生数据错误或数据丢失的风险,影响团队的开发效率和 项目进度,这时候我们该怎么办呢?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…  

img_64a41f7e1daea241b405104ee31e9d6e.png

 

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

img_03ea6c5dd890e3788bc38f4c7b888b4d.png

 

三、选择好数据库后,点击OK按钮,开始执行架构比较,完成后,显示如下界面。

选择图中上面的数据库表或存储过程,下面的窗口二侧会分别以不同颜色高亮显示SourceTarget Database中不相同部分的内容。  

img_2ad44c93af44834192b01e743c2d467f.png

 

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

img_c9e660fbc0b5f5e5779c63c6ed69b6d4.png

 

img_abb98edcdade4cfafce08d1e6ff5e4d9.png

 

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

img_8f213a294a1c88a7cf1f09e347fc070d.png

 

六、执行上一步导出的脚本,将Target Database的架构更新到与Source Database的架构一致。

 

七、Target Database执行更新脚本成功后,检查Target Database的架构更新是否正确。方法是:将更新后的Target DatabaseSource Database进行架构比较,看比较结果是否完全一致,如果不一致,则检查错误原因;或者恢复原来的Target Database【已备份】,重新进行更新,直到更新正确。

 

VS2008中比较二个数据库的数据并更新的步骤:

 

一、打开VS2008,点击菜单上的Data==> Data Compare==>New Data Comparison…  

img_cc99f8a405e20788717553524f2390b6.png

 

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

img_348ece40220bd7b6a0fa295c48a8a317.png

 

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

img_a5a7d328ba2f83f842d40c049c5dfc2d.png

 

四、下面的所有步骤和上面的架构比较时基本一样,此处省略。

补充:

Visual Studio 2005 Team System版本中默认是没有上面的功能的,需要安装下面的插件才能使用以上功能。

Visual Studio 2005 Team Edition for Database Professionals Add-on for Visual Studio 2005 Team Suite Edition下载地址:

http://www.microsoft.com/downloads/details.aspx?familyid=7de00386-893d-4142-a778-992b69d482ad&displaylang=en

相关文章
|
4天前
|
关系型数据库 MySQL 数据库
ORM对mysql数据库中数据进行操作报错解决
ORM对mysql数据库中数据进行操作报错解决
25 2
|
3天前
|
存储 SQL 数据库
数据库模式(Schema)
数据库模式(Schema)
|
2天前
|
JavaScript Java 关系型数据库
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
本文介绍了一个基于Spring Boot和Vue.js实现的在线考试系统。随着在线教育的发展,在线考试系统的重要性日益凸显。该系统不仅能提高教学效率,减轻教师负担,还为学生提供了灵活便捷的考试方式。技术栈包括Spring Boot、Vue.js、Element-UI等,支持多种角色登录,具备考试管理、题库管理、成绩查询等功能。系统采用前后端分离架构,具备高性能和扩展性,未来可进一步优化并引入AI技术提升智能化水平。
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
|
4天前
|
Java 关系型数据库 MySQL
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
本文介绍了一款基于Spring Boot和JSP技术的房屋租赁系统,旨在通过自动化和信息化手段提升房屋管理效率,优化租户体验。系统采用JDK 1.8、Maven 3.6、MySQL 8.0、JSP、Layui和Spring Boot 2.0等技术栈,实现了高效的房源管理和便捷的租户服务。通过该系统,房东可以轻松管理房源,租户可以快速找到合适的住所,双方都能享受数字化带来的便利。未来,系统将持续优化升级,提供更多完善的服务。
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
|
8天前
|
存储 SQL 数据库
数据库模式(Schema)
数据库模式(Schema)
|
9天前
|
存储 SQL 数据库
数据库模式(Schema)
数据库模式(Schema)
|
6天前
|
存储 SQL 数据库
数据库模式(Schema)
数据库模式(Schema)
|
9天前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
阿里云数据库重磅升级!元数据服务OneMeta + OneOps统一管理多模态数据
|
14天前
|
存储 SQL 数据库
数据库模式(Schema)
数据库模式(Schema)
|
1天前
|
存储 SQL 数据库
数据库模式(Schema)
数据库模式(Schema)

热门文章

最新文章