公司项目改造,需要将以前的数据库表记录导入到新的数据库表中,结构不是完全相同。
在跨库的过程中,学到了不少东西。原来SQLServer 还有 链接服务器的功能呢。
/*不同服务器数据库之间的数据操作*/
--创建链接服务器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '
--查询示例
select * from ITSV.数据库名.dbo.表名
--导入示例
select * into 表 from ITSV.数据库名.dbo.表名
--以后不再使用时删除链接服务器
exec sp_dropserver 'ITSV ', 'droplogins '
我的测试:
exec sp_addlinkedserver 'srv_lnk ', ' ', 'SQLOLEDB ', '192.168.1.X1'
exec sp_addlinkedsrvlogin 'srv_lnk ', 'false ',null, 'sa', 'sa'
insert into CounterDB.dbo.Sites(SiteKey,ParentID,Name)
select BarId,AreaCode,BarName from srv_lnk.TestCounter.dbo.Site
insert into CounterDB.dbo.CountData
(CameraKey,CountTime,InNum,OutNum,Refix,ExportFlag,ChangeFlag)
select top (200000) CameraNo,DateTime,Up,Down,Refix,0,0
from srv_lnk.TestCounter.dbo.Counter_Table
exec sp_dropserver 'srv_lnk ', 'droplogins'
标签:dbo,exec,ITSV,数据库,sp,server,srv,lnk,sql
From: https://blog.51cto.com/dupeng0811/6271668