---
title: "数据库的差异比较与合并"
date: "2011-05-09"
tags: 
  - "diff-merge-tool"
  - "diffdog"
description: 了解如何使用 Altova DiffDog 实现高效的数据库差异比较和合并操作，让用户能够比较和同步各种关系型数据库中的数据和结构。
---
Status: #blog

Tags:  #diff-merge-tool #diffdog

Categories: [Altova](/blog/zh/category/altova.md) 
# 数据库的差异比较与合并

您可能已经熟悉了Altova [DiffDog](https://www.altova.com/zh/diffdog/database-diff-tool.html)在处理源代码、XML和Word文件时提供的差异比较和合并功能，但您可能不知道，它还可以连接、比较和合并数据库数据和结构。 

DiffDog 支持所有主流的关系型数据库，并提供连接向导，让您可以快速连接到一个或多个数据库。 原生支持的数据库包括 Microsoft® Access™、SQL Server®、Oracle®、MySQL®、IBM® DB2®、Sybase®、PostgreSQL 以及其他数据库。 

当您比较不同类型的数据库时，DiffDog 甚至可以解决数据类型命名上的不一致问题。这意味着，例如，您可以比较 SQL Server 数据库中的 "customers" 表与其备份副本，或者您可以比较 IBM DB2 9 和 Oracle 11g 两种实现方式下，任何表的具体内容，或者比较整个数据库的结构。

**注意：** Altova [DatabaseSpy](https://www.altova.com/zh/databasespy.html) 包含了此处描述的相同差异比较和合并功能。

## 数据库内容差异分析

这很容易 [比较数据库内容](https://www.altova.com/zh/diffdog/database-diff-tool.html) 在 DiffDog 中，只需连接到所需的数据库，然后选择要进行比较的表。DiffDog 会并排显示比较结果，并且会根据可配置的选项自动映射表和列。如果需要，您也可以手动修改或创建映射关系。点击“开始比较”按钮后，DiffDog 会以带有信息图标的结果进行显示。 

接下来，您可以启动一个详细的比较功能，以便并排查看需要比较的列，并突出显示差异。工具栏上的按钮允许您在任意方向合并更改。 

## 数据库模式差异分析

这同样简单易行 [比较数据库模式](https://www.altova.com/zh/diffdog/database-schema-diff-tool.html) DiffDog 可以用来，例如，识别并合并同一数据库的开发版本和生产版本之间的差异。所有数据库项（例如，数据类型、约束、键等）都显示在比较组件中，以便您可以比较数据库模式中表的结构。您可以使用工具栏上的“左侧”和“右侧”按钮来合并两个模式或选定的项，或者通过右键菜单访问更多合并选项。 

[![DiffDog数据库模式差异比较工具](https://lh5.ggpht.com/_C4xYMtGRX-M/TcBSmyu9Z1I/AAAAAAAAACA/ZSwu-IOCP6w/DiffDog-DB-schema-diff_thumb%5B1%5D.gif?imgmax=800 "DiffDog-DB-schema-diff")](http://lh4.ggpht.com/_C4xYMtGRX-M/TcBSmsnhBII/AAAAAAAAAB8/eHp567Kvmok/s1600-h/DiffDog-DB-schema-diff%5B3%5D.gif) 

数据库模式的更改不会立即合并。DiffDog 始终会生成一个与您的目标数据库类型兼容的 SQL 变更脚本，您可以在将这些更改应用到数据库之前进行审查。 

您还可以将SQL脚本保存到文件中，或者在DatabaseSpy中打开它进行进一步的编辑。   

**了解更多关于这款强大功能的** [数据库差异比较/合并](https://www.altova.com/zh/diffdog/diff-merge-tool.html) **DiffDog 具有以下功能。您还可以** [免费试用版下载](https://www.altova.com/zh/download/diffdog/diff_merge_tool_enterprise.html) **为了试驾一下。**
