ApexSQL Diff工具比较Sql Server数据异同

背景

在某些情况下,需要将特定表从生产数据库复制到DEV。一种用于测试或故障排除的目的。属于数据对比和同步的工作范围。

写在前面
参考文档为https://www.sqlshack.com/how-to-copy-tables-from-one-database-to-another-in-sql-server/
link

使用

此方法只是众多方法中的一个,比如使用tablediff,或是Visual studio 插件

ApexSQL Diff是有用的SQL工具,可用于从架构端查找数据库之间的差异,
并生成同步脚本以按正确的顺序在目标数据库中创建这些表。

ApexSQL Data Diff还是另一个SQL工具,可用于从数据侧查找数据库之间的差异,
并生成同步脚本以将数据插入目标数据库表中,同时考虑了Identity列。

我们可以利用这两个工具的优势来生成所需的脚本,以创建要与其对象一起复制的表,
并按照以下步骤将数据从源表复制到目标表:

1.启动ApexSQL Diff工具

2.在“新建项目”窗口的“数据源”选项卡中,指定源服务器名称,
源数据库名称和用于连接到源服务器的身份验证方法。如果选择SQL Server身份验证,
则需要指定有效的用户名和密码。

还指定目标服务器名称,目标数据库名称和用于连接到目标服务器的身份验证方法。
如果选择SQL Server身份验证,则需要指定有效的用户名和密码。

您可以通过单击数据源下方的“反向”按钮来更改指定为源服务器或目标服务器的每台服务器的角色:

2.
在这里插入图片描述
在这里插入图片描述

3.设置完所有内容后,单击“比较”按钮。将显示主应用程序窗口,其中包含“结果”网格,
其中包含两个数据库之间共有的对象,并且该对象存在于其中一个数据库中,但不存在于第二个数据库中:

3.
然后选择要复制的表:
在这里插入图片描述

4.
同步前:
在这里插入图片描述
4.1
执行同步:
在这里插入图片描述

如果您不想编写相关表的脚本,请在“同步”向导 的“依赖关系”步骤中,
取消选中“包括依赖数据库对象”选项,然后单击“下一步”:

在这里插入图片描述

在“同步”向导的“输出选项”步骤中,如果要生成脚本并手动运行,
请选择“创建同步脚本”操作,或者选择“立即同步”操作以使该工具直接在目标服务器上运行脚本,
然后单击“下一步”按钮。 :

在这里插入图片描述

在这里插入图片描述

现在,将以正确的顺序生成用于创建具有其对象的数据库表的脚本。
您只需在“执行”按钮上单击即可在目标数据库上运行此脚本以创建表:
(如果是保存为脚本文件,需要复制到相应主机的相应库中手动执行)

以下是直接在工具中打开了脚本,需要手动执行:
在这里插入图片描述

同步后:
在这里插入图片描述
以上是同步数据

还有一个工具ApexSQL Data Diff,可以查看源库和目标库的差异并同步

ApexSQL数据差异工具,如果读者想具体查看库之间的差异是需要另行安装

官网地址https://www.apexsql.com/sql-tools-datadiff.aspx
link

(和ApexSQL Diff操作类似)相关教程https://www.sqlshack.com/how-to-copy-tables-from-one-database-to-another-in-sql-server/
link

本文说明,主要技术内容来自互联网技术大佬的分享,还有一些自我的加工(仅仅起到注释说明的作用)。如有相关疑问,请留言,将确认之后,执行侵权必删

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值