SQLServerでIdentityが設定されているテーブルをコピーする方法
SQLServerで本番環境DBのテーブルデータを、試験環境DBのテーブルにコピーする必要がありました。
その際、対象テーブルにIdenityが設定されていた場合、普通にコピーすると採番が再設定されてしまうので
下記の方法で対応しました。
table_1 → コピー元テーブル table_2 → コピー先テーブル field_1 → フィールド1 filed_2 → フィールド2 【作業その1 フィールド名取得】 SELECT * FROM syscolumns WHERE id = object_id('table_1') 【作業その2 コピー先テーブルのトランケート】 TRUNCATE TABLE table_2 【作業その3 コピー】 SET IDENTITY_INSERT table_2 ON INSERT INTO table_2 ( field_1, field_2, . . . ) SELECT * FROM tabke_1; SET IDENTITY_INSERT table_2 OFF