1. 程式人生 > >sql server 跨資料庫插入資料

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'