我有 2 个具有相同架构的 sql server 2000 数据库。
我必须将给定表中的行子集从数据库 A 移动到数据库 B。我还必须将所有相关行从其他表移动到数据库 B。
这是一个简化的例子
让我们假设在每个数据库中都有以下表格:作者、书籍、奖项、销售额。
假设这些表中的每一个都有一个标识列,即 PK。这些列被命名为 AuthorID、BookID、AwardID、SaleID。
我需要将“Stephen King”从数据库 A 中的 Authors 表移动到数据库 B。假设数据库 A 中的 Stephen King 记录的 AuthorID 为 12。我还必须使用 FK 移动 Books 表中的所有行AuthorID 为 12。与奖项和销售表相同。
当数据库 B 是全新的时,我已经编写了代码来使用“SET IDENTITY_INSERT”命令来处理这个问题。因此,Stephen King 最终在每个表中都使用了相同的 AuthorID。
现在的问题是工作人员一直在忙着向B数据库添加新记录,我不能简单地将记录从A数据库迁移到B数据库而不发生PK冲突。我别无选择,只能让数据库 B 为迁移的记录分配新的 PK 值并跟踪它们,以便当相关记录出现时,使用正确的 FK。
在这个简化的示例中,我有 4 个表需要编写代码。
在我的现实生活示例中,我有 46 张桌子。
我不期待手动编码。
我可以购买任何现有的工具来简化此过程吗?