SQLServer 远程连接其他服务器数据库 利用sp_addlinkedserver实现远程数据库链接

-- sp_helpserver 当前可用的服务器
Exec sp_helpserver

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

--删除已经存在的链接
Exec sp_droplinkedsrvlogin 服务器别名,Null
--删除已存在的服务器
Exec sp_dropserver 服务器别名

--使用sp_addlinkedserver来增加链接 (其实:@server,@srvproduct,@provide,@datasrc可省略不写)
EXEC sp_addlinkedserver 
@server='ITSV',--被访问的服务器别名(习惯上直接使用目标服务器IP,或取个别名如:ITSV)
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='192.168.1.134' --要访问的服务器IP地址

--使用sp_addlinkedsrvlogin 来增加用户登录链接
EXEC sp_addlinkedsrvlogin
'ITSV', --访问的服务器名(如果上面sp_addlinkedserver中使用别名ITSV,则这里也是ITSV)
'false',
NULL,
'sa', --帐号
'sa' --密码

--示例(访问目标服务器上的数据库TestData,查看其中表TestTable的内容):
--如果建立链接时的别名是目标服务器IP,即192.168.1.134 则:
select * from [192.168.1.134].[TestData].dbo.TestTable
--如果建立链接时的别名是ITSV,则:
select * from [ITSV].[TestData].dbo.TestTable
 
--可能会遇到的问题:
exec sp_dropserver 'ITSV' --执行失败,
--报错信息:仍有对服务器 'ITSV' 的远程登录或链接登录。
--解决方法:
exec sp_droplinkedsrvlogin 'ITSV',null
exec sp_dropserver 'ITSV'


--示例:
IF NOT EXISTS(select * from sys.servers where name='ITSV')--如果不存在ITSV服务器 则:创建
begin
exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '192.168.1.134' --连接192.168.1.134服务器
end

exec sp_addlinkedsrvlogin  'ITSV ', 'false ',null, 'sa', '123456'  -- 登陆ITSV服务器,用户名:sa;密码:sa

IF EXISTS(select * from sys.servers where name='ITSV')--如果存在ITSV服务器 则:删除
begin
exec sp_dropserver  'ITSV ', 'droplogins'  --删除ITSV服务器
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值