IDENTITY (自動採番; オートナンバー) 使用時に忘れやすいこと

IDENTITY が付与されたテーブルにデータを登録するとき、元の ID を保持したまま (もしくは好きな ID で) INSERT を実行したい場合があります。そんなときは、以下のように「SET IDENTITY_INSERT」を使用します。意外と忘れやすいので、データ移行時などは気をつけましょう。マスタデータとトランザクションデータの整合性がとれなくなりますよ :-p

SET IDENTITY_INSERT table_name ON;
INSERT INTO table_name (serialnum, num) VALUES (128, 128);
SET IDENTITY_INSERT table_name OFF;

なお、データのインポート (SSIS) を利用するときも、「ID 挿入を許可する」を選ぶように注意してください。