SQL学习_Sql Server 跨服务器连接

Sql Server 跨服务器连接

今天偶然听到同事问怎么跨服务器连接数据库,我就写个博客复习一下吧

OPENROWSET

临时访问远程服务器

--语法

openrowset('SQLOLEDB', 'sql服务器名'; '用户名'; '密码', 数据库名.dbo.表名) as 表名

--使用实例

select * from openrowset('SQLOLEDB', '172.16.1.170'; 'sa'; '51530018ab!', DingTalk.dbo.SysUser) a

链接服务器

通常,链接服务器用于处理分布式查询

通过链接服务器,能够实现可在其他数据库中提取和更新数据的分布式数据库

你可以使用 SQL Server Management Studio 或 sp_addlinkedserver (Transact-SQL) 语句配置链接服务器。

image-20211105142021206

管理链接服务器定义

  • 通过运行 sp_addlinkedserver 创建链接服务器定义。
  • 通过对 SQL Server sys.servers 系统目录视图执行查询,查看有关在 的特定实例中定义的链接服务器的信息。
  • 通过运行sp_dropserver删除链接服务器定义。还可以使用此存储过程删除远程服务器

[sp_addlinkedserver (Transact-SQL)]:创建链接服务器

exec sp_addlinkedserver 'srv_lnk', '', 'SQLOLEDB','远程服务器名或ip地址'

示例:

exec sp_addlinkedserver 'srv_lnk', '', 'SQLOLEDB','172.16.1.170'

[sp_addlinkedsrvlogin (Transact-SQL)]:注册login帐号

exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'

示例:exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa','51530018ab!'

sp_dropserver (Transact-SQL):删除链接服务器

exec sp_dropserver 'ITSV','droplogins'

示例:

exec sp_dropserver 'srv_lnk','droplogins'

参考资料

官网地址:https://docs.microsoft.com/zh-cn/sql/t-sql/functions/openrowset-transact-sql?view=sql-server-ver15https://www.cn参考博客:blogs.com/railgunman/archive/2010/12/25/1916780.html

posted @ 2021-11-05 15:19  CCmonitor  阅读(766)  评论(0)    收藏  举报