Link DB Server

发表日期:2022-08-20 09:56:53 | 来源: | | 浏览(618) 分类:SQLServer

LINK Server是什么东西呢?简单说就是让这个数据库连上另一台数据库,然后你直接可以在这个数据库里使用另一个远程数据库。或者说使用这个数据库链接可以操作另一台远程数据库。

当然,我们通常是在代码里连多个库,那么用这个有什么意义呢?

主要目的是给储存过程使用的,你可以在存储里直接调别的库的数据,实现跨库功能。

比如有多个业务系统,库是分离的,组织架构是单独一套库。


本地数据库访问一般是:
select * from [库名].[dbo].[表名]; 或 简写 select * from [表名];
远程数据库即是
select * from [服务器别名].[库名].[dbo].[表名];

--查看当前链接情况:
select * from sys.servers;

--使用 sp_helpserver 来显示可用的服务器
Exec sp_helpserver

--显示使用sp_addlinkedserver来增加服务器链接
EXEC sp_addlinkedserver
    @server='LINKABC',--被访问的服务器别名
    @srvproduct='',
    @provider='SQLOLEDB',
    @datasrc='192.168.0.10\sql2008' --要访问的服务器IP[\实例名有就写没有]

--然后使用sp_addlinkedsrvlogin 来增加用户登录链接
EXEC sp_addlinkedsrvlogin
    'LINKABC', --被访问的服务器别名
    'false',
    NULL,
    'root', --帐号
    '123456' --密码

访问:
select * from [LINKABC].[abcDB].dbo.Users where uid = 1;
也支持IP形式:
select * from [192.168.0.10].[abcDB].dbo.Users where uid = 1;

-- 删除数据库链接
--与创建相反,要先删除登录账户
exec sp_droplinkedsrvlogin 'LINKABC',null

--然后再删除数据库链接
exec sp_dropserver 'LINKABC'


集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。