数据迁移与外键引用标识列蔚蓝(Data migration to Azure with foreig

2019-09-26 07:29发布

我想我的内部部署的数据库迁移到Azure上。 然而,我的内部部署的数据库有一个表table1与列

ID int identity(1,1) Not Null,

在表“表2”列“列1”对列Table1.ID外键约束

我面临着一个问题,当我Table1.ID列没有连续的值。

例如,Table1.ID具有值(1,2,4,5,6 ...)

如果我正常地插入到Azure的表,我在Azure上Table1.ID将是(1,2,3,4,5 ...),并混杂了我的外键关系。 我希望防止外键关系的这种混杂起来。

如何做到这一点任何想法?

Answer 1:

做你插入之前,使身份插入该表:

SET IDENTITY_INSERT Table1 ON

然后你就可以在您的嵌入式ID列,使ID值保持不变。 后来,当你插入有表2 FK引用的行,ID值将是相同的。

只要确保当您完成转身份的插入,当你完成回退:

SET IDENTITY_INSERT Table1 OFF


Answer 2:

请考虑使用SQL Azure迁移向导 ,这将需要迁移数据为你的照顾。

您的具体问题的根源,但是,作为@Mike穆尼建议,是你需要使用IDENTITY_INSERT。



文章来源: Data migration to Azure with foreign key referencing an identity column