实际上我想将大型数据集迁移到已有一些数据的另一个数据库。两个数据库中的数据模式相同。场景是我的客户端已经在生产中运行的应用程序,他给了我一些新的要求来实现它。实施后,他想测试临时生产服务器上的新要求,以便在2个地点进行接受性测试。这样我就将现有数据库附加到新的生产服务器上。现在我想编写一个DB脚本,用于在验收测试之前和之后迁移位置数据。我的问题是我的表的票证ID有身份,两个数据服务器上运行的应用程序都会插入相同的TicketID。现在,当我迁移数据时,存在主键冲突。我的父表模式如下。
TicketID, Identity(1,1) int
LocationID int
Problem varchar(500)
IssueDate DateTime
另一个问题是,客户收据上打印了故障单ID,客户不希望更改故障单号。
请建议我解决这个问题。
一个解决方案是添加一个OldTicketID列,但为此我需要更改我的应用程序代码,我不想改变它有很多子表。
答案 0 :(得分:0)
您可以将标识列更改为仅在旧数据集(标识(1,2))上生成奇数,并且仅在新数据集(标识(种子,2))上生成偶数。
Seed应设置为生产系统中当前最高的ticketid,因此不会与ID发生任何冲突。