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

目录
打赏
0
0
0
0
7
分享
相关文章
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
数据库数据删除策略:硬删除vs软删除的最佳实践指南
在项目开发中,“删除”操作常见但方式多样,主要分为硬删除与软删除。硬删除直接从数据库移除数据,操作简单、高效,但不可恢复;适用于临时或敏感数据。软删除通过标记字段保留数据,支持恢复和审计,但增加查询复杂度与数据量;适合需追踪历史或可恢复的场景。两者各有优劣,实际开发中常结合使用以满足不同需求。
77 4
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断
【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断
让数据与AI贴得更近,阿里云瑶池数据库系列产品焕新升级
4月9日阿里云AI势能大会上,阿里云瑶池数据库发布重磅新品及一系列产品能力升级。「推理加速服务」Tair KVCache全新上线,实现KVCache动态分层存储,显著提高内存资源利用率,为大模型推理降本提速。
【赵渝强老师】达梦数据库MPP集群的架构
达梦数据库提供大规模并行处理(MPP)架构,以低成本实现高性能并行计算,满足海量数据存储和复杂查询需求。DM MPP采用完全对等无共享体系,消除主节点瓶颈,通过多节点并行执行提升性能。其执行流程包括主EP生成计划、分发任务、各EP并行处理及结果汇总返回。为确保高可用性,建议结合数据守护部署。
【YashanDB 知识库】用 yasldr 配置 Bulkload 模式作单线程迁移 300G 的业务数据到分布式数据库,迁移任务频繁出错
问题描述 详细版本:YashanDB Server Enterprise Edition Release 23.2.4.100 x86_64 6db1237 影响范围: 离线数据迁移场景,影响业务数据入库。 外场将部分 NewCIS 的报表业务放到分布式数据库,验证 SQL 性能水平。 操作系统环境配置: 125G 内存 32C CPU 2T 的 HDD 磁盘 问题出现的步骤/操作: 1、部署崖山分布式数据库 1mm 1cn 3dn 单线启动 yasldr 数据迁移任务,设置 32 线程的 bulk load 模式 2、观察 yasldr.log 是否出现如下错
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。