SQL Server 跨資料庫查詢

大雄45發表於2020-05-17
基本語句
SELECT * FROM 資料庫A.dbo.表A a, 資料庫B.dbo.表B b WHERE a.field=b.field

"DBO"可以省略 如

SELECT * FROM 資料庫A..表A a, 資料庫B..表B b WHERE a.field=b.field

SqlServer資料庫:

--這句是對映一個遠端資料庫
EXEC sp_addlinkedserver '遠端資料庫的IP或主機名',N'SQL Server'
--這句是登入遠端資料庫
EXEC sp_addlinkedsrvlogin '遠端資料庫的IP或主機名', 'false', NULL, '登入名', '密碼'
--登入後,可以用以下格式操作遠端資料庫中的物件
select * from [遠端資料庫的IP或主機名].[資料庫名].[dbo].[表名]
 insert into openrowset('sqloledb','192.168.0.100';'sa';'10060','select * from knss2009.dbo.yw_kck') select * from yw_kck
 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
不同伺服器資料庫之間的資料操作

建立連結伺服器

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 '

原文來自:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2692569/,如需轉載,請註明出處,否則將追究法律責任。

相關文章