微软 SQL Server 徽标

关系引擎

连接 微软 SQL 服务器 适用于 Excel、Google Sheets、AI 和 REST

企业关系数据库。可通过可访问实例的网络代理进行连接——无论是在本地、Amazon RDS、Azure SQL,还是任何 SQL Server 监听的位置。

一个连接,每个表面

SQL Server 数据可以放在哪里?

Query Streams 可以从 Microsoft Excel、Google Sheets、Power BI、AI 助手(通过 MCP)以及 REST 端点读取 Microsoft SQL Server,而无需开放 1433 端口。网络代理会从您的网络拨号连接;无需监听入站流量,登录信息也保留在您安装 Query Streams 的计算机上。命名实例、非默认端口以及单个实例上的多个数据库都能正常工作。

  1. 为您的团队、供应商和合作伙伴
  2. 将 SQL Server 转换为 Excel 微软 Excel · Excel 加载项

    将 SQL Server 的实时结果直接提取到工作表中,并按需刷新——支持桌面版 Excel、Excel Online 和 Microsoft 365。

    SQL Server 指南
  3. 将 SQL Server 转换为 Google Sheets 表格插件

    从侧边栏运行已保存的 SQL Server 查询,并将结果行拖放到工作表中。共享协作者可以自行刷新工作表。

    SQL Server 指南
  4. 向 Nova 咨询 SQL Server Nova AI · 文本转 SQL

    用简单的英语提问。Nova 已经了解你的 SQL Server 表,会自动编写并运行 SQL 语句,解释答案并绘制图表——无需编写查询语句,也无需提供任何凭据。

    Nova 的工作原理
  5. SQL Server 到数据查看器 结果共享 · 团队、供应商、合作伙伴 · 手机、平板电脑、台式机

    您可以与任何人(同事、供应商、合作伙伴)共享实时 SQL Server 查询结果,以可收藏的网格形式呈现,无论在手机、平板电脑还是台式机上打开,都能立即重新运行。他们看到的是查询结果,而不会看到 SQL 代码或凭据。

    数据查看器的工作原理
  6. 对于应用程序和系统
  7. SQL Server REST API HTTP 端点

    将 SQL Server 查询发布为任何应用程序都可以调用的经过身份验证的 JSON 端点,符合 OpenAPI 3.1 规范,并预置了 Postman、Insomnia 和 Hoppscotch 集合。无需打开数据库端口。

    SQL Server 指南
  8. SQL Server 到 Power BI Power Query M

    将生成的 Power Query M 粘贴到 Power BI 高级编辑器中,报表即可通过 HTTPS 读取实时 SQL Server 结果——无需 ODBC 驱动程序,也无需打开数据库端口。

    Power BI 的工作原理
  9. SQL Server 到 Airtable 自动化平台

    按计划将 SQL Server 行同步到 Airtable,或者在 Airtable 自动化脚本中获取它们。

    SQL Server 指南
  10. SQL Server 到 Baserow 自动化平台

    通过 REST 端点从 SQL Server 向 Baserow 表提供数据——无论是自托管还是 Baserow 云。

    SQL Server 指南
  11. SQL Server 到 SeaTable 自动化平台

    无需导出文件或暴露数据库,即可使 SeaTable 数据库与 SQL Server 数据保持同步。

    SQL Server 指南
  12. SQL Server 到 Smartsheet 自动化平台

    将 SQL Server 结果推送到 Smartsheet 网格中,以便计划和报告从源系统读取数据,而不是从上周的导出数据读取数据。

    SQL Server 指南
  13. SQL Server 到 Anvil Anvil Works · 应用平台

    通过 REST 端点将 SQL Server 连接到 Anvil Python 应用程序,而不是将数据库凭据嵌入到应用程序中。

    SQL Server 指南
  14. 人工智能工具
  15. SQL Server MCP 服务器 Claude、Cursor 和 MCP 客户端

    赋予 AI 助手对 SQL Server 的只读访问权限,并提供它编写正确 SQL 所需的架构——聊天中无需提供凭据。

    SQL Server 指南
  16. 已送达
  17. SQL Server 警报和报告 Slack · Discord · 电子邮件 · Webhook

    将 SQL Server 查询添加到计划中,并将查询结果发送到 Slack、Discord、电子邮件或签名 webhook,或者等到行数、阈值或百分比变化超过您设定的界限时才发送消息。

    警报和报告的工作原理

工作原理

5 个步骤,无需更改入站防火墙规则

01

将网络代理安装在可以访问实例的机器上——跳转服务器、应用服务器,防火墙右侧的任何设备。

02

将其指向服务器:主机名、IP 地址或 SERVER\INSTANCE(用于指定实例)。除非您更改了端口,否则默认使用 1433 端口。

03

提供包含 SELECT 语句的 SQL 登录信息,用于读取你想要的内容。代理程序只需要这些信息,连接测试会告诉你服务器接受了哪些连接。

04

代理会读取您的表、列、类型和键,以便查询构建器和 Nova 在任何人编写一行 T-SQL 之前就知道结构。

05

保存查询,然后从 Microsoft Excel、Google Sheets、Power BI、MCP 或 REST 中读取它——或者在一个语句中将其与其他连接连接起来。

专题深度解析

SQL Server 能给你带来什么?

以 SQL Server 实际部署方式

实际情况很少像默认设置那样井然有序。连接细节反映的是人们实际采用的方案,而不是文档中描述的方案。

  • 命名实例在服务器配置中以 SERVER\SQLEXPRESS 或 SERVER\PROD 的形式存在。除非您更改了实例,否则无需查找单独的字段,也无需提供端口号。
  • 端口 1433 被假定为默认端口,并完全从连接字符串中省略;其他任何端口都按原样使用,因此 1435 端口上的实例不需要任何特殊设置。
  • 一个连接对应一个数据库,同一个实例上的多个数据库实际上就是多个连接。 — 如果您的店铺采用这种模式,则每个店铺都需要有自己的登录信息和权限。
  • 加密方式由您自行设置,是否信任自签名证书也由您决定。
  • 身份验证方式为 SQL Server 身份验证 — 需要登录名和密码。不支持 Windows 和 Microsoft Entra 身份验证;如果您的实例设置为仅限 Windows,连接测试会明确提示,而不是显示莫名其妙的失败信息。

它具体会对你的实例造成什么影响?

任何维护生产环境 SQL Server 的人都想知道新增一个读取器会给他们带来多少成本。简而言之,每次只能创建一个连接,不会留下任何残留数据。

  • 连接池已关闭,这是有意为之。查询之间不会在您的实例上累积空闲会话,这与大多数报表工具的做法恰恰相反。
  • 取消操作确实会终止查询。当查询停止时,取消请求会发送到 SQL Server,从而终止查询的执行。 ——而不是让客户端离开,留下服务器处理一个无人阅读的结果。
  • 在尝试登录之前,系统会检查网络连接情况,因此错误的主机名或关闭的端口会被视为网络错误,而不是登录失败并记录在错误日志中。 ——如果你有锁定政策,这一点就很重要了。
  • 超时时间是明确的:默认连接时间为 30 秒,查询开始返回结果的时间为 35 秒。较长的结果流会根据需要持续返回。

能够经受住考验的 T-SQL 类型

将 SQL Server 数据导入电子表格时,精度往往会悄然下降。以下是一些已专门处理过的情况。

  • datetimeoffset 会保留其瞬时值,并将其标准化为 UTC 时间,而不是将其转换为对下一个读者毫无意义的本地时钟时间。
  • 小数和数值都保持其精度和比例。超出电子表格容量限制的值将以精确文本的形式传递,而不是进行无条件四舍五入。 — 错误的货币比不方便使用的货币更糟糕。
  • 货币和小额货币以精确的小数形式到达,而不是浮点数。
  • rowversion 和 timestamp 会以它们实际的 8 个字节的形式显示,而不是被误认为是日期,这是这些列被误读的最常见方式。
  • uniqueidentifier 变为小写 GUID 字符串,sql_variant 和 hierarchyid 变为可读文本而不是被删除。
-- 处理特殊类型而非近似值 SELECT o.OrderId, o.PlacedAt, -- datetimeoffset -> UTC 即时值 o.RowVersion, -- rowversion -> 8 字节,非日期 o.Amount, -- money -> 精确十进制数 o.LedgerBalance -- decimal(38,10) -> 无损文本 FROM dbo.Orders AS o WHERE o.PlacedAt >= DATEADD(day, -30, SYSUTCDATETIME()) ORDER BY o.PlacedAt DESC;

每个数据库连接器共享

适用于所有数据库连接器

  • 仅限出站 — 代理程序会打开一个加密连接到查询流。无需转发入站端口,无需 VPN,无需 IP 允许列表,您的数据库信息不会暴露在互联网上。
  • 凭证保留 — 数据库用户名和密码存储在您安装代理的计算机上。Query Streams 永远不会收到这些信息,也无法自行访问您的数据库。
  • 只读,强制执行 ——一次只执行一条语句,仅限 SELECT 及其相关语句。写入操作会在发送到服务器之前就被本地机器拒绝,而不是依赖于其他人设置的权限。
  • 部署任意数量的代理 每个站点、区域或云端只需一个代理。所有数据源都显示在同一个下拉菜单中,因此无需了解哪个代理托管哪些数据源。

查询保存后您将获得什么?

  • 分享的是能力,而不是 SQL — 同事或外部合作伙伴可以运行您的查询并更改其筛选条件,而无需查看其背后的语句。
  • 双向过滤 — 您可以自己将它们声明为 @variables,或者让连接器发现 WHERE 子句中已有的字面值,并将其作为下拉列表提供。
  • 随时随地阅读 — Microsoft Excel、Google Sheets、Power BI、REST API、MCP 上的 AI 助手、查询生成器和 Nova 都读取同一个已保存的查询。
  • 同时运行多个程序 — 将五个已保存的查询分别保存到五个工作表标签中,同时进行流式传输,无论结果有多大。
  • 将其连接到您已连接的任何其他内容 — 用一条只读语句访问另一个数据库、业务 API 或文件文件夹。

跨源 SQL

将 SQL Server 连接到其余数据

一条语句可以同时跨越 SQL Server 和其他连接。每个数据源只运行它能够处理的部分,并将结果流式传输回来,连接操作则在中心位置集中完成——各个数据源之间互不通信,也不会复制任何数据。

3 个连接 · 3 个代理

微软 SQL 服务器 关系引擎
PostgreSQL 关系引擎
条纹 付款与账单

一份声明

——没有任何复制、合并或安排操作。
选择   c.region,COUNT(*) AS orders,SUM(i.amount_due) AS invoiced
从     sql_prod.dbo.orders1     f
连接     pg_crm.public.customers2 c ON c.id = f.customer_id
连接     计费.stripe.invoices3 i ON i.customer = c.stripe_id
GROUP BY c.区域
ORDER BY 发票上的描述;

这三个部分分别是连接、模式和表——连接名称就是你给它起的任何名字。这里用列举例说明;你的表就是你自己的表。所有部分都采用只读模式:仅支持 SELECT、WITH 和 EXPLAIN 语句,并且对单个查询中每个数据源可以传输的数据量有限制。 联合查询的工作原理

连接详情

SQL Server 需要什么

默认端口
1433,默认情况下会从连接字符串中省略。
命名实例
服务器框中的 SERVER\INSTANCE——没有单独的字段,也没有端口,除非您移动了它。
司机
Microsoft.Data.SqlClient 6.0.1
验证
SQL Server 身份验证。不支持 Windows 和 Microsoft Entra 身份验证。
加密
加密功能开启或关闭,以及信任证书功能开启或关闭,均可在向导中设置。
权限
使用 SELECT 语句登录,选择要读取的内容。除此之外,不会使用其他任何功能。
池化
已故意关闭——不会留下任何闲置会话。
暂停
默认情况下,连接需要 30 秒,查询开始返回需要 35 秒。
消除
发送到 SQL Server,因此已停止的查询会在服务器上停止。
默认架构
dbo,也就是联合引用所携带的那个。

1433 端口是互联网上被扫描最频繁的端口之一,因此几乎没有人被允许打开它,也正因如此,将 SQL Server 数据导入电子表格通常需要使用 VPN、跳转服务器,或者进行夜间导出,而导出的数据在有人打开时早已过时。但这些情况在这里都不适用。代理程序位于网络内部,只建立一个外部连接,因此没有监听器,没有入站规则,也不会有任何新内容被任何人发现。

第二部分包含详细信息,是因为生产环境的数据库管理员需要审批这些配置,而他们需要的答案非常具体。连接池已关闭,因此实例上不会有任何空闲进程;取消操作会直接到达服务器,而不是导致查询孤立;并且在尝试登录之前会进行可达性测试,因此主机名拼写错误不会导致错误日志中出现登录失败的提示,也不会触发帐户锁定。

对于跨源查询,SQL Server 的默认架构是 dbo,因此您创建的名为 sql_prod 的连接实际上写成 sql_prod.dbo.orders。这样,记录系统就能通过一条只读语句连接到周围的对象——例如 Postgres 应用程序数据库、CSV 文件文件夹或计费 API——而无需复制任何数据,也无需进行任何调度操作。

供应商文档: www.microsoft.com

常问问题

关于 Microsoft SQL Server 的问题

哪些工具可以通过查询流读取 Microsoft SQL Server 数据?

所有这些工具,只需一次连接即可使用:Excel、Google Sheets、MCP、REST API、Airtable、Baserow、SeaTable、Smartsheet、Anvil、Power BI、定时提醒和报表。只需连接一次数据库,所有平台都使用同一个只读连接——无需为每个工具单独设置,也无需创建数据副本。

我是否需要为我的 Microsoft SQL Server 数据库打开防火墙端口?

不。Query Streams 网络代理运行在您的网络内部,并打开一个单独的出站加密连接。它不会监听入站流量,无需 VPN,数据库也会保留其现有的防火墙规则。

查询流能否更改 Microsoft SQL Server 中的数据?

不。代理在执行时强制执行只读模式——一次只执行一条语句,仅限 SELECT 及其相关语句。凭据保留在代理上,绝不会发送到查询流。

Query Streams 需要哪些组件才能连接到 Microsoft SQL Server?

可访问的主机、角色及其密码——代理程序自带驱动程序,因此无需在数据库上安装任何内容。默认端口:1433,如果已是默认端口,则连接字符串中会省略端口号。命名实例:服务器框中的 SERVER\INSTANCE——没有单独的字段,除非您已更改端口号,否则无需指定端口。驱动程序:Microsoft.Data.SqlClient 6.0.1。身份验证:SQL Server 身份验证。不支持 Windows 和 Microsoft Entra 身份验证。

我可以在同一个查询中将 Microsoft SQL Server 连接到另一个数据库吗?

是的——这就是联合查询。一条语句可以同时引用 Microsoft SQL Server 和其他连接,格式为 connection.schema.table。每个数据源只运行它能够执行的部分,并将结果流式传输回来;连接操作在中心进行,因此数据源之间不会相互连接,也不会进行任何复制或调度。所有部分(SELECT、WITH 和 EXPLAIN)都采用只读模式,并且单个数据源在单次查询中可以传输的数据量有限制。联合查询是计划功能;联合查询页面会显示当前数据源和大小限制。

将 SQL Server 部署在工作发生的地方

安装代理,将其指向您的数据库,然后选择目标位置。

只读 仅限出站 凭证保留在代理人身上。