SQL从本地数据库跨服务器访问别的数据库

在日常中会遇上多个不同服务器上数据库上的数据同步问题

--1.新建远程数据库链接
declare @ServerDb nvarchar(50)
declare @ServerIP nvarchar(50)
declare @ServerUSER nvarchar(50)
declare @ServerPWD nvarchar(50)
set @ServerDb='otherServer'
set @ServerIP='数据库服务名称'
set @ServerUSER='登录名'
set @ServerPWD='表名'
if(exists(select * from sys.servers where name=@ServerDb))
begin
--删除运行本地与远程之间的用户映射
execute sys.sp_droplinkedsrvlogin @rmtsrvname='otherServer',@locallogin=null
--删除链接服务器
execute sys.sp_dropserver @server='otherServer',@droplogins='droplogins'
end
--创建远程链接服务器
execute sys.sp_addlinkedserver @server='otherServer',    --被访问的服务器别名
        @srvproduct='',
        @provider='SQLOLEDB',
        @datasrc=@ServerIP    --被访问的服务器地址(IP地址,端口号\服务器名称)
--创建本地用户与远程服务器中用户之间的映射
execute sys.sp_addlinkedsrvlogin @rmtsrvname='otherServer',    --被访问的服务器别名
        @useself='false',    --是否通过模拟本地登录名或显式提交登录名和密码来连接到远程服务器
        @locallogin=null,    --本地登录
        @rmtuser=@ServerUSER,    --用户名
        @rmtpassword=@ServerPWD    --密码
go
    
--建立完成之后就可以正常使用了
select * from otherServer.[数据库名].dbo.表名称    --连接服务器别名.数据库名称.dbo.表名称

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值