SQL SERVER服务器链接连接(即sql server的跨库连接)-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

SQL SERVER服务器链接连接(即sql server的跨库连接)

简介: 一、如果你要访问的数据库,不在同一个服务器上,那么需要用服务器链接: EXEC sp_addlinkedserver @server='dblink名称', @srvproduct='', @provider='SQLOLEDB', @datasrc='目标服务器地址' GO EXEC sp_addlinkedsrvlogin 'dblink名称', 'false', NULL, '用户名

一、如果你要访问的数据库,不在同一个服务器上,那么需要用服务器链接:

EXEC  sp_addlinkedserver
@server='dblink名称',
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='目标服务器地址'
GO
EXEC sp_addlinkedsrvlogin
'dblink名称',
'false',
 NULL,
'用户名',
'密码'
GO

小注:

        1、上下两部分的'dblink名称'应该是一样的。

        2、下面的用户名与密码应该是目标服务器上的用户名及密码。

        3、使用的时候,只需要修改'dblink名称'、目标服务器地址、用户名及密码即可,其余的地方不需要修改。

        4、执行sql server的跨库连接的时候,应该用sa账户登录(本地数据库也就是源数据库的sa账户登录)

        5、如果需要链接不是数据库默认实例,需要在@datasrc中指定 对应的数据库实例
         比如:需要访问的数据库实例是 SQLSERVERtest
         则@datasrc需要这么写

@datasrc='192.168.120.119\SQLSERVERtest'

图形化建立连接,如下图:

二、测试服务器链接是否成功的两种方式

1、SQL语句

--查询远程表
select * 
from [dblink名称].远程数据库名.dbo.表

2、假如你新建的dblink名称为test,如下图:

创建好后,就在这个位置了,可以右键测试是否连通。

三、把本地表的数据,复制到远程表

insert into [Link].远程数据库名.dbo.表(列的列表)
select 列
from 本地表

四、把远程表的数据,复制到本地表

insert into 本地表
select 列
from [Link].远程数据库名.dbo.表 

 

 


 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章