昨天用户要求将生产数据完全copy到QA上进行测试,但是这个别人遗留的程序所有表都是主键自增列的。。更新好麻烦。。
最主要的,完全复制别的表的内容,包括自增列
首先需要去掉表的自增列,并重置
truncate table [tablename]
如果需要保留数据
DBCC CHECKIDENT ([tablename], reseed, 0)
更新之前需要打开自增列可修改的控制
SET IDENTITY_INSERT subtopic ON
然后对数据进行更新
注意:在打开标志位修改权限的时候,更新字段必须显示标示
insert into [table] ([columns]) select * from [source.tablename]
最后,对此表关闭自增列修改控制
SET IDENTITY_INSERT subtopic OFF
如果不关闭的话不能打开别的表的控制,而且此表会持续的维持在权限打开的状态,造成数据混乱