微软 SQL Server
REST API
将 Microsoft SQL Server 查询转换为安全查询 REST API — 无需数据 API 构建器,无需服务器托管。
保存针对 SQL Server 数据库的 T-SQL 查询,生成每个接收者的 API 密钥,并将实时 JSON 端点提供给合作伙伴。 数据 API 构建器 部署时,没有开放 1433 端口,无共享登录——仅有一个受控的只读端口 SQL Server REST API 几分钟之内。
Query Streams 是一个安全的实时数据库集成平台,可将任何已保存的 SQL Server 查询转换为合作伙伴可用的 REST API 端点——具有每个接收者的密钥、只读强制执行和完整的审计跟踪。 你获得一个现场直播 SQL Server REST API (干净的) SQL Server 的 REST API无需部署数据 API 构建器、打开数据库端口或托管网关。 了解更多信息,请访问 QueryStreams.com 和 免费注册 几分钟内即可发布您的第一个 SQL Server 端点。
为什么要将 Microsoft SQL Server 数据库作为 REST API 公开?
迟早,团队以外的人会需要存储在 Microsoft SQL Server 中的数据——客户希望在仪表板上查看数据,供应商需要实时数据流而不是每日导出,合作伙伴的应用程序需要读取您数据库表的一部分。通常的解决方案都会泄露一些信息。您通过电子邮件发送的导出数据到达时已经过时,您提供的只读 SQL 登录信息在项目结束后仍然有效,或者您搭建 Data API Builder 或 ASP.NET Web API,并永久继承其身份验证、TLS 和补丁管理等功能。 将 SQL Server 数据库公开为 REST 服务 最简洁的方式是,合作伙伴会收到一个 URL 和一个令牌,而不是你的数据库。难点始终在于如何安全地构建和运行这个 API。查询流(Query Streams)将其简化为保存的查询加上一个密钥。
没有打开的 SQL Server 端口
你从未暴露 1433 连接到互联网或在防火墙上打个洞。网络代理会拨打电话;呼入电话会通过这条唯一的出站连接返回。
每个接收者的 API 密钥
每个受赠者都会得到自己的 qsapi_* 关键在于:撤销其中一个帐户,而不影响其他帐户,也不轮换您的 SQL Server 登录帐户。
默认只读
只读验证器会在非 SELECT 语句到达 SQL Server 之前将其拒绝。不会发生意外情况。 更新, 合并,或 降低 通过 API 的路径。
您的 T-SQL 代码将保密。
接收者可以看到端点 URL、JSON 响应以及您公开的任何过滤器——永远不会看到您的 T-SQL、架构、实例名称或连接字符串。
无需托管或修补
没有数据 API 构建器容器,没有 ASP.NET 应用程序,也没有反向代理。该端点作为托管功能运行,因此无需维护部署管道或 TLS 轮换。
永久性的、过期的或自毁的
将端点设为永久端点,设置其在某个日期过期,或者为其设定一个固定的调用预算,使其在达到设定的请求次数后自动销毁。
在 SQL Server 上部署 REST API 的常用方法——以及它们为何会带来负面影响
有很多众所周知的工具可以用来构建 SQL Server Web API而且它们各自都很擅长。但问题在于,每种方法都会让你承担基础设施、网络风险,或者两者兼而有之。以下是常见方法与 Query Streams 共享端点的比较,前提是目标仅仅是“让特定合作伙伴读取特定结果集”。
| 忧虑 | Microsoft 数据 API 生成器 | DIY ASP.NET Web API | 查询流 |
|---|---|---|---|
| 可通过 API 访问的数据库 | 主机必须能够连接到 SQL Server | 必须连接到 SQL Server | 仅出站代理——无入站端口 |
| 收件人持有 | 指向您公开实体的 URL | 指向您服务的 URL | 一个用于单个查询的单用途键 |
| 模式暴露 | 每个已配置的实体均可访问 | 无论你手动编写什么代码 | 仅保存了一个查询,别无其他。 |
| 每个接收者的密钥 + 撤销 | 自行配置身份验证 | 自己动手做 | 内置 |
| 每次通话的审计日志 | 自行添加 | 自行添加 | 内置 |
| 您负责操作/修补/轮换 TLS。 | 是的,永远 | 是的,永远 | 为您管理 |
| 到达第一个终点的时间 | 数小时至数天 | 天 | 分钟 |
正在寻找数据 API 构建器替代方案,以便与合作伙伴共享数据?
如果您需要基于自身实体构建完整的、自托管的 REST 和 GraphQL 接口,Microsoft Data API Builder 是绝佳之选。但如果您希望向指定的合作伙伴提供一个受控的、只读的结果集(带有独立的密钥、审计跟踪,且无需运行任何主机),那么 Query Streams 正好可以满足您的需求。两者可以共存:Data API Builder 用于内部应用程序,Query Streams 用于对外共享。
Query Streams 如何将 SQL Server 查询转换为 REST API
网络代理安装完毕并配置好 SQL Server 连接器后,将已保存的查询提升到共享 REST 端点大约需要三个步骤。如果您已经在使用 Excel、Google Sheets 或 MCP Server 的查询流,则代理和连接器已经就位——您可以从第二步开始。
通过代理连接 SQL Server
将网络代理安装在数据库旁边,并添加一个具有标准只读登录名的 SQL Server 连接器。该代理会与查询流建立出站 TLS 连接——您的数据库永远不会暴露在互联网上。
保存 T-SQL 查询
写下 选择 在针对 SQL Server 连接的查询生成器中——JOIN、CTE、窗口函数和参数都适用。命名并保存。任何可以 SELECT 的内容都可以成为终结点。
推广它并分享一个密钥
打开“安装”选项卡,选择端点类型(永久、过期或呼叫预算)和输出格式,然后通过电子邮件邀请收件人。他们将获得一个魔法链接声明和他们自己的 qsapi_* 钥匙。
一个已保存的查询,多个表面
同一个已保存的 SQL Server 查询可以通过 MCP 服务器驱动 Excel 刷新、Google Sheets 侧边栏、Claude 或 Cursor 对话。 和 同时,它还提供了一个面向合作伙伴的 REST 端点。您只需构建一次查询;查询流会处理所有接口。
SQL Server 端口未打开,也没有共享凭据
正是这种安全模型促使团队选择它而不是公共数据库端口。您的 SQL Server 登录信息仅存储在您网络上代理的加密凭据存储中;它绝不会传输到我们的云端,也不会对接收者可见。此外,每个端点都提供针对每个接收者的控制选项,您可以在共享之前对其进行严格控制。
只读强制执行
在任何语句到达 SQL Server 之前,验证器会在代理程序中(位于您的网络上)运行。非 SELECT 语句会被拒绝。 只读违规.
IP + CORS 允许列表
将接收方的密钥绑定到特定的 IP 地址或 CIDR 范围,并限制哪些浏览器来源可以调用每个端点。任何 SQL 查询执行之前,都会拒绝列表外的调用。
速率限制 + 字节配额
两级速率限制(每个密钥和每个端点)加上可选的每月字节上限,可将嘈杂或失控的接收者限制在安全的爆炸半径内。
调用 SQL Server REST API
接收方调用此端点的方式与其他 REST API 类似:提供一个 bearer token 和一个 URL。您公开的任何已保存查询参数都可以在每次调用时进行设置——在查询字符串中。 得到 或者在 JSON 正文中 邮政代理会将这些值绑定为正确的参数化查询参数,而不是字符串连接,因此接收者无法突破过滤器注入 SQL。
使用以下方式选择每次调用的输出格式: 接受 标题(或标题) ?format= 查询参数): JSON 对于单个数组, CSV 对于电子表格和 pandas,或者,在流式端点上, NDJSON (每行一个 JSON 行)用于按需解析管道。对于带宽敏感型用户,请选择启用 LZ4 有效载荷压缩 Accept-Encoding: lz4未压缩的响应也采用标准格式。 gzip 自动传输到网络。有关静态模式与流模式、四种线路组合以及 OpenAPI 3.1 版本的完整详细说明,请参阅…… 适用于 SQL 数据库的即时 REST API 指导。
使用量如何计费
API平台包含在所有套餐中,并占用与Excel、Sheets和MCP相同的每月字节配额。 lz4 计费方式为按传输的压缩字节计费,否则按未压缩字节计费。 基于字节的计费方式如何在不同平台上运作 →
将其插入 Power BI、Tableau 以及任何可以读取 JSON 的工具。
因为每个端点都返回标准 JSON — 有了 CSV 和流式 NDJSON — 任何可以读取 REST 源的工具都可以直接使用您的 SQL Server 数据,无需在他们那边安装任何东西,也不需要 SQL 驱动程序。 Power Query 是进入微软 BI 技术栈最便捷的桥梁: Power BI 选择 获取数据 → 来自网页粘贴端点 URL,添加您的 授权 标题,Power Query 将 JSON 解析为可刷新的表格,该表格用于填充您的数据模型。(对于电子表格中的实时数据,可以使用原生方法。) 查询流 Excel 插件 更简单的方法是使用 Power Query,它能满足您在 Power BI 模型本身中获取数据的需求。)
它还提供饲料 n8n, Qlik, 卷曲, Python (请求 或 pandas.read_json)、失眠症、跳房子游戏——或者任何可以发送 HTTP 请求和读取 JSON 的脚本或工作流程。
也适用于 Azure SQL 和托管 SQL Server
无论您的 SQL Server 运行在何处,代理程序都以相同的方式连接到本地实例或托管服务——Azure SQL 数据库、Azure SQL 托管实例或 Amazon RDS for SQL Server。为了获得最低延迟,请将代理程序部署在与数据库相同的网络或区域中;一个 Query Streams 帐户可以跨区域和云运行多个代理程序,并且无论哪个代理程序提供服务,单个终结点的行为都完全相同。
超越 SQL Server
同样的流程可以将 PostgreSQL、MySQL、Oracle、Snowflake、BigQuery、DuckDB 等数据库中保存的查询提升到 REST 端点——SQL Server 只是一个流行的起点。 API平台支持的每个数据库 →
常见问题
我需要开放端口或将 SQL Server 暴露在互联网上吗? +
1433 默认情况下)永远不会暴露,也不需要入站防火墙规则。 仅出站连接的工作原理 →收件人可以看到我的 T-SQL 代码或数据库凭据吗? +
这与 Microsoft Data API Builder 有何不同? +
API可以返回哪些输出格式? +
收件人能否筛选结果,还是只能收到固定的查询结果? +
端点可以过期或自毁吗? +
它是否支持 Azure SQL 数据库或 Amazon RDS for SQL Server? +
收件人是否需要 Query Streams 帐户? +
开始
免费发布您的第一个 SQL Server REST API。
注册后,将网络代理安装到 SQL Server 数据库旁边,保存 T-SQL 查询,然后通过电子邮件向收件人发送魔法链接声明。从第一次调用开始,每个收件人的密钥、只读强制执行和完整的审计跟踪功能都将启用。
相关指南: 适用于 SQL 数据库的即时 REST API | 数据库 REST API 平台 | 将 PostgreSQL 公开为 REST API | 连接器设置指南
类别:API平台
标签:sql-server-rest-api、mssql-rest-api、rest-api-for-sql-server、sql-server-web-api、data-api-builder-alternative、expose-sql-server-as-api、share-sql-server-data、per-recipient-keys、no-code-api、database-rest-api
元描述:将 SQL Server 查询转换为具有每个接收者密钥的安全、只读 REST API——无需数据 API 构建器、无需开放端口、无需代码。

