有两个服务器分别是22,24,现在要把22的数据迁移到24的数据库的表中,但是24迁移的几张表有外键,所以迁移的时候也要把数据的ID也迁移过来,但是数据表的设计是ID自增长,所以一般迁移就不行的(嗯,指的不是DBA)
建立链接服务器
--创建链接服务器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '10.40.3.22'
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, 'qasa', 'df+QA!0sa'
允许将显式值插入表的标识列中
set identity_insert [Rongzi_com].[dbo].[ENT_Rule] ON
这里要注意的是,一个会话中,只能有一个表示set identity_insert on状态的,所以使用以后必须立即OFF
将数据迁移,(这里的数据结构是一样的)
set identity_insert [Rongzi_com].[dbo].[ENT_Rule] ON
insert into [Rongzi_com].[dbo].[ENT_Rule] (
[ID]
,[TemplateParameter]
,[TemplateKey]
,[PriorityIncrement]
,[Status])
select
[ID]
,[TemplateParameter]
,[TemplateKey]
,[PriorityIncrement]
,[Status]
FROM [ITSV].[Rongzi_com].[dbo].[ENT_Rule]
这样就可以把数据记录的ID迁移到另外的表中,嗯,对DBA来说应该是easy!!!
最后关闭掉链接服务器
--以后不再使用时删除链接服务器
exec sp_dropserver 'ITSV ', 'droplogins '