オブジェクト グラフには 100 万個弱のノードがあり、ほとんどが切断されており、まとめてインポートする必要があります。
キーはすべてサーバーで生成されます。リレーションシップにはいくつかのレベルがあるため、各バッチが挿入された後、正しい ID キーを取得して、次のバッチで外部キー値として使用する必要があります。
これを行う最も簡単な方法は何ですか? からの出力はありBULK INSERT
ますか?
または、テーブルの現在の増分 ID 値を調整して、挿入する行数に余裕を持たせ、クライアント側でこれらの数値から 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;