考虑外键关系在表之间复制数据

问题描述 投票:0回答:1

我尝试使用 SSMS 中的导出选项,该选项给出错误,指出由于外键关系而失败。

如何在具有相同架构的两个不同azure sql server的表(超过400+)之间复制数据?在复制数据之前截断数据是可以的,因为它是完整加载的。

错误:

标题:SQL Server 导入和导出向导

错误 0xc002f210:准备 SQL 任务 1:执行查询“TRUNCATE TABLE [dbo].[table_name]” 失败并出现以下错误:“无法截断表 'dbo.table_name' 因为它被外键约束引用。”。可能 失败原因:查询有问题,“ResultSet”属性未设置 正确、参数设置不正确或未建立连接 正确。

sql-server azure azure-sql-database ssms azure-data-sync
1个回答
0
投票

我的建议是使用SQL Data Sync 在两个表之间复制数据。您可以单向或双向复制数据。您可以创建一个涉及表和其他所需相关表的同步组。您可以使用 SQL 数据同步一次性复制数据并获取初始数据加载或保持表同步。同步频率可以是秒、分钟、小时、天或手动。

您必须定期检查同步组的历史日志,并确保所有冲突均已解决,并且更改已成功传播到整个同步组数据库。例如,同步组可能无法更新具有违反外键约束的值的行。在这种情况下,您可以更新外键值以包含失败行中包含的值,或者更新失败行中的数据值以与以下模式或外键兼容: 目标数据库。之后同步组将继续在两个表之间复制数据。

在这里您将了解如何开始使用 SQL 数据同步。

© www.soinside.com 2019 - 2024. All rights reserved.