MSSQL 链接服务器数据迁移(有外键)

有两个服务器分别是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 ' 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容