使用Sql server进行分布式查询

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介:
可以使用sql -server企业管理器进行建立,注意其中的rpc及rpc out两项,也可以使用sql语句来完成定义,主要涉及到三个存储过程

sp_addlinkedserver,sp_serveroption和sp_addlinkedsrvlogin,以下是三个存储过程的语法:

sp_addlinkedserver

创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问。在使用 sp_addlinkedserver 创建链接的服务器之后,此服务器就可以执行分布式查询。如果链接服务器定义为 Microsoft® SQL Server™,则可执行远程存储过程。

语法

sp_addlinkedserver [ @server = ] ' server '
[ , [ @srvproduct = ] ' product_name ' ]
[ , [ @provider = ] ' provider_name ' ]
[ , [ @datasrc = ] ' data_source ' ]
[ , [ @location = ] ' location ' ]
[ , [ @provstr = ] ' provider_string ' ]
[ , [ @catalog = ] ' catalog ' ]
例如:

sp_addlinkedserver ' ServerName ', '', ' SQLOLEDB ', ' dbconn ', null, ' driver={sql server};server=192.168.1.181;uid=sa,pwd=; '

此处ServerName为自定义名称,dbconn为定义的odbc数据源

一般使用的参数如下:
@server “LINKED SERVER”
@srvproduct “Product name”
@provider “Provider”
@datasrc “Data source”

二、设置服务器选项

使用 sp_serveroption 过程,所要使用的参数如下:

@server “Linked server”
@optname “RPC”或“RPC OUT”
@optvalue True 或 False

三、添加Login

使用 sp_addlinkedsrvlogin 过程,所要使用的参数如下:

@rmtsrvname “Linked server”
@useself True 或 False
@locallogin 本地LOGIN
@rmtuser 远程用户
@rmtpassword 远程用户口令

全部完整的示例如下:

EXEC sp_addlinkedserver ' test ', '', ' SQLOLEDB ', ' test ', null, ' driver={sql server};server=ipaddress;uid=sa,pwd=; '
exec sp_serveroption N ' test ', N ' rpc out ', N ' true '
exec sp_serveroption N ' test ', N ' rpc ', N ' true '
exec sp_addlinkedsrvlogin ' test ', ' False ', null, ' sa ', ''

访问可以使用如下语句: select * from test.pubs.dbo.tb_maintab

以上在windows2000,sql-server2000测试通过



本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2005/10/24/260694.html,如需转载请自行联系原作者
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
4天前
|
SQL 存储 缓存
如何优化SQL查询性能?
【10月更文挑战第28天】如何优化SQL查询性能?
24 10
|
11天前
|
SQL 数据库 开发者
功能发布-自定义SQL查询
本期主要为大家介绍ClkLog九月上线的新功能-自定义SQL查询。
|
18天前
|
SQL 移动开发 Oracle
SQL语句实现查询连续六天数据的方法与技巧
在数据库查询中,有时需要筛选出符合特定时间连续性条件的数据记录
|
26天前
|
SQL Java 数据库连接
如何使用`DriverManager.getConnection()`连接数据库,并利用`PreparedStatement`执行参数化查询,有效防止SQL注入。
【10月更文挑战第6天】在代码与逻辑交织的世界中,我从一名数据库新手出发,通过不断探索与实践,最终成为熟练掌握JDBC的开发者。这段旅程充满挑战与惊喜,从建立数据库连接到执行SQL语句,再到理解事务管理和批处理等高级功能,每一步都让我对JDBC有了更深的认识。示例代码展示了如何使用`DriverManager.getConnection()`连接数据库,并利用`PreparedStatement`执行参数化查询,有效防止SQL注入。
69 5
|
26天前
|
SQL 数据挖掘 数据库
SQL查询每秒的数据:技巧、方法与性能优化
id="">SQL查询功能详解 SQL(Structured Query Language,结构化查询语言)是一种专门用于与数据库进行沟通和操作的语言
|
26天前
|
SQL 移动开发 大数据
SQL语句查询连续六天满足条件的记录
在数据库管理和数据分析中,我们经常需要查询符合特定时间范围内连续几天的记录
|
29天前
|
SQL 数据挖掘 关系型数据库
SQL查询次数大于1的记录:高效技巧与方法
在数据库管理中,经常需要统计某些操作的次数,特别是当需要找出哪些记录或值出现的次数超过一定阈值(如大于1次)时
|
28天前
|
SQL 存储 安全
SQL查询数据库:基础概念与操作指南
在数字化时代,数据库已成为信息管理的重要工具之一。作为管理和操作数据库的核心语言,SQL(结构化查询语言)已成为数据管理和查询的关键技能。本文将全面介绍SQL查询数据库的基本概念、语句和操作指南,以帮助初学者快速上手,同时为进阶用户提供有价值的参考。一、数据库与SQL简介数据库是一种存储、管理和检索
35 3
|
29天前
|
SQL 数据库
SQL查询中排除空值列的技巧与方法
在数据库查询中,经常需要处理包含空值(NULL)的数据列
|
29天前
|
SQL Oracle 关系型数据库
SQL查询默认表空间的技巧与方法
在数据库管理中,表空间是存储数据库对象(如表、索引等)的逻辑空间单元