对象图中只有不到一百万个节点,大部分是断开连接的,需要批量导入。
密钥都是服务器生成的。有多个级别的关系,因此在插入每个批次后,需要检索正确的身份键以用作下一批中的外键值。
最简单的方法是什么?有输出BULK INSERT
吗?
或者它是否可以很好地调整表上当前的增量 ID 值,以便为我们插入的行数腾出空间,根据这些数字在客户端分配 ID,并使用身份插入进行批量复制?例如,如果下一个增量 ID 是 120,001 并且有 600,000 行要插入,则将下一个 ID 设置为 720,001 并在任何插入之前手动使用从 120,001 到 720,000 的数字作为 ID?
declare @lastID int, @newLastID int;
begin tran
set @lastID = ident_current('dbo.Strains');
set @newLastID = @lastID + 1000;
dbcc checkident('dbo.Strains', reseed, @newLastID);
commit
select @lastID + 1;