一、什么是DBLink
百度百科:
dblink(Database Link)数据库链接顾名思义就是数据库的链接 ,就像电话线一样,是一个通道,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。
简而言之,本机数据库可以通过本机数据库访问远程数据库的数据。
二、创建DBLink连接示例
本地数据库IP地址是192.123.0.20,已知局域网内有一台192.123.0.23的数据库服务器,该数据库账户为:sa密码为:123456 创建DBLink:
USE master
GO
--DBLink类型
EXEC master.dbo.sp_addlinkedserver
@server = '192.123.0.23', --'远程IP地址'
@srvproduct='SQL Server' --'DBLink类型(默认SQL Server)'
--DBLink连接属性
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname='192.123.0.23',--'远程IP地址'
@useself='False',
@locallogin=NULL,
@rmtuser='sa',--'远程数据库用户名'
@rmtpassword='123456'--'远程数据库密码'
Go
执行之后可以在本地数据库服务器下看到一个创建好的DBLink连接,如下图:
三、DBLink应用示例
以本地数据库中的CustomersInfo表以及远程关联数据库192.123.0.23里的Road数据库下的Oraders表为例:
----------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
SELECT c.姓名,o.订单日期 FROM CustomersInfo c
JOIN [192.123.0.23].SQL_Road.dbo.Orders o ON c.客户ID=o.客户ID
结果如下:
通过这种方式,便可以关联访问两个不同数据库下的表数据了。
四、DBLink的删除
EXEC master.dbo.sp_dropserver
@server='192.123.0.23',
@droplogins='droplogins'
执行完语句后DBLink就删除了。