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