sql server 跨数据库插入数据

公司项目改造,需要将以前的数据库表记录导入到新的数据库表中,结构不是完全相同。

在跨库的过程中,学到了不少东西。原来SQLServer 还有 链接服务器的功能呢。

/*不同服务器数据库之间的数据操作*/ 
--创建链接服务器 
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' 
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 ' 
--查询示例 
select * from ITSV.数据库名.dbo.表名 
--导入示例 
select * intofrom 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' 

猜你喜欢

转载自blog.csdn.net/dupeng0811/article/details/6551379