sqlserver跨服务器访问数据库

在SQL Server中,sys.servers是一个系统视图,它提供了关于SQL Server实例上配置的所有链接服务器的信息。链接服务器允许您执行跨数据库服务器的分布式查询和事务。通过查询sys.servers视图,您可以获取关于这些链接服务器的详细信息,如服务器名称、服务器类型、产品名称等。

SELECT name, product, data_source FROM sys.servers;

查看要访问的服务器是否添加到了视图中,如果没有添加可以使用系统默认的存储过程sp_addlinkedserver来添加

EXEC sp_addlinkedserver 
    @server='', -- 链接服务器的名称,自己随便起
    @srvproduct='', -- 目标服务器的产品名称(可选)
    @provider='SQLNCLI', -- 用于连接的提供程序名称(对于SQL Server,通常是SQLNCLI)
    @datasrc='数据库地址'; -- 目标服务器的地址(可以是IP地址或域名)

执行之后就可以在sys.servers视图中查询到对应的数据,如果添加成功之后查询数据表报错登录失败,执行sp_addlinkedsrvlogin 设置登录名称和密码

EXEC sp_addlinkedsrvlogin 
    @rmtsrvname = '', -- 链接服务器的名称,添加时设置的名称
    @useself = 'FALSE', -- 使用本地登录名和密码连接到链接服务器(FALSE表示不使用)
    @locallogin = NULL, -- 本地登录名(如果为NULL,则适用于所有本地登录名)
    @rmtuser = '', -- 目标服务器的登录名
    @rmtpassword = ''; -- 目标服务器的密码

设置好之后就可以访问目标数据库了

SELECT * FROM 链接服务器名称.数据库名称.dbo.表名
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值