一个连接,每个表面
您的 Azure SQL 数据可以放在哪里?
- 1 出站连接
- 0 入境口岸
- 只读 · 凭据保留
运行
- 为您的团队、供应商和合作伙伴
-
在 Excel 插件 · 按需刷新
-
谷歌工作表 附加组件 · 按需刷新
-
新星人工智能 用简单的英语提问 · 文本转 SQL
-
数据查看器 分享实时结果 · 团队、供应商、合作伙伴 · 任何设备
- 对于应用程序和系统
-
REST API JSON 端点 · OpenAPI 3.1
-
Power BI Power Query M
-
计划同步 Google Sheets · Airtable · Baserow · SeaTable · Smartsheet · Anvil
- 人工智能工具
-
人工智能助手 Claude · Cursor · MCP 服务器
- 已送达
-
警报和报告 Slack · Discord · 电子邮件 · Webhook
Query Streams 通过一个只读连接,从 Microsoft Excel、Google Sheets、Power BI、AI 助手(通过 MCP)和 REST 终结点读取 Azure SQL 数据库和 SQL 托管实例。网络代理运行在虚拟网络 (VNet) 内的虚拟机上,并向外拨号,因此数据库无需公共终结点,也无需防火墙规则。其底层是普通的 T-SQL——dbo 架构,类型处理方式与本地 SQL Server 相同——采用 SQL 身份验证,且不会留下任何会话池。
Azure SQL 就是 Microsoft SQL Server 的在线版本。 — 这是标准驱动程序,因此以下所有指南均适用。唯一特定于 Azure SQL 的部分是连接字符串,该部分将在“连接字符串”部分中介绍。 连接详情.
- 为您的团队、供应商和合作伙伴
-
Azure SQL 到 Excel 微软 Excel · Excel 加载项
将 Azure SQL 的实时结果直接提取到工作表中,并按需刷新——支持桌面版 Excel、Excel Online 和 Microsoft 365。
Microsoft SQL Server 指南 -
Azure SQL 到 Google Sheets 表格插件
从侧边栏运行已保存的 Azure SQL 查询,并将结果行拖放到工作表中。共享协作者可以自行刷新工作表。
Microsoft SQL Server 指南 -
向 Nova 咨询 Azure SQL Nova AI · 文本转 SQL
用简单的英语提问。Nova 已经了解您的 Azure SQL 表,会自动编写并运行 SQL 语句,解释答案并绘制图表——无需编写查询语句,也无需提供任何凭据。
Nova 的工作原理 -
Azure SQL 到数据查看器 结果共享 · 团队、供应商、合作伙伴 · 手机、平板电脑、台式机
您可以与任何人(同事、供应商、合作伙伴)共享实时 Azure SQL 查询结果,将其以可收藏的网格形式呈现,无论在手机、平板电脑还是台式机上打开,都会自动重新加载。他们看到的是查询结果,而不会看到 SQL 语句或凭据。
数据查看器的工作原理 - 对于应用程序和系统
-
Azure SQL REST API HTTP 端点
将 Azure SQL 查询发布为任何应用程序都可以调用的经过身份验证的 JSON 终结点,符合 OpenAPI 3.1 规范,并预置了 Postman、Insomnia 和 Hoppscotch 集合。无需打开数据库端口。
Microsoft SQL Server 指南 -
Azure SQL 到 Power BI Power Query M
将生成的 Power Query M 粘贴到 Power BI 高级编辑器中,报表即可通过 HTTPS 读取实时 Azure SQL 结果——无需 ODBC 驱动程序,也无需打开数据库端口。
Power BI 的工作原理 -
Azure SQL 到 Airtable 自动化平台
按计划将 Azure SQL 行同步到 Airtable,或者在 Airtable 自动化脚本中获取它们。
Microsoft SQL Server 指南 -
Azure SQL 到 Baserow 自动化平台
通过 REST 终结点从 Azure SQL 向 Baserow 表提供数据——无论是自托管还是 Baserow 云。
Microsoft SQL Server 指南 -
Azure SQL 到 SeaTable 自动化平台
无需导出文件或公开数据库,即可使用 Azure SQL 数据保持 SeaTable 数据库的最新状态。
Microsoft SQL Server 指南 -
Azure SQL 到 Smartsheet 自动化平台
将 Azure SQL 结果推送到 Smartsheet 网格中,以便计划和报告从源系统读取数据,而不是从上周的导出数据读取数据。
Microsoft SQL Server 指南 -
Azure SQL 到 Anvil Anvil Works · 应用平台
通过 REST 终结点将数据库凭据嵌入到应用程序中,而不是将数据库凭据嵌入到 Anvil Python 应用程序。
Microsoft SQL Server 指南 - 人工智能工具
-
Azure SQL MCP 服务器 Claude、Cursor 和 MCP 客户端
赋予 AI 助手对 Azure SQL 的只读访问权限,并提供它编写正确 SQL 所需的架构——聊天中无需提供凭据。
Microsoft SQL Server 指南 - 已送达
-
Azure SQL 警报和报告 Slack · Discord · 电子邮件 · Webhook
将 Azure SQL 查询添加到计划中,并将查询结果发送到 Slack、Discord、电子邮件或签名 webhook,或者等到行数、阈值或百分比变化超过您设定的界限时才发送消息。
警报和报告的工作原理
工作原理
5 个步骤,无需更改入站防火墙规则
在虚拟网络 (VNet) 内的虚拟机上安装网络代理,并通过私有端点访问数据库。该代理仅对外连接,因此无需入站规则和公共端点。
请从 Azure 门户获取服务器名称 — <name>.database.windows.net。端口 1433 默认为 1433,除非您已更改,否则无需填写。
使用 SQL 登录并执行 SELECT 语句来读取所需数据。SQL 身份验证是此处支持的身份验证模型。
让它读取模式。表、列、类型和键都已编入目录,以便查询构建器和 Nova 在任何人编写 T-SQL 之前就知道结构。
保存后,Microsoft Excel、Google Sheets、Power BI、MCP 和 REST 都可以通过一个连接读取该数据库,或者在一条语句中将其与其他数据源连接起来。
专题深度解析
Azure SQL 能为您提供什么?
代理连接时 Azure 看到的内容
Azure SQL 是一项共享服务,对于谁可以访问它有自己的规定,因此有必要明确告知用户哪些内容可以访问。
- 在尝试任何登录之前,都会通过 TCP 测试可达性,因此错误的服务器名称或被阻止的路径会被视为网络问题,而不是 Azure 登录失败。
- 连接池已关闭。查询之间不会在数据库中累积空闲会话。 ——在无服务器架构中,这决定了你是保持暂停状态还是被迫保持清醒。
- Azure 防火墙自身的拒绝行为会被正确识别,因此,如果服务器没有被告知您的地址,则会报告网络阻塞,而不是一般的故障。
- 所有与 Azure SQL 的连接都经过加密,因为 Azure 要求使用 TLS,并且拒绝任何低于 TLS 的协议。这是 Azure 自身的安全保障,而不是代理代表 Azure 协商的结果。
无服务器架构,以及暂停后的第一个查询
这是在遇到它之前值得了解的一个棘手问题,因为症状看起来像是连接断开了,但实际上并非如此。
- 无服务器数据库在空闲时会自动暂停,唤醒它需要连接尝试等待一段时间。
- 代理程序需要等待 30 秒才能连接,等待 35 秒查询结果才会开始返回。冷唤醒可能需要更长时间。
- 没有自动重试机制,所以客观来说,长时间暂停后的第一个查询可能会超时,需要重新运行。之后的一切都是正常的。
- 已暂停的数据库会被识别为已暂停,而不是被报告为丢失,因此该消息会告诉你实际发生了什么。
它是 SQL Server,但有两个 Azure 特有的限制。
它的方言、类型和架构布局与其他任何 SQL Server 都相同,这正是使用它的意义所在。只有两点不同。
- 默认模式是 dbo,跨源引用也承载着 dbo 模式。 — azure_sql.dbo.orders。
- 不支持 Windows 和 Microsoft Entra 身份验证;代理程序会显示 SQL 登录信息。
- Azure SQL 数据库本身没有跨数据库 T-SQL,因此对于这些主机,无法通过同一连接查询第二个数据库。但这完全不影响跨源查询。 — 这些数据库是通过查询流在单独的连接上组装的,因此将 Azure SQL 数据库连接到任何其他数据库都能正常工作。
- 托管实例与独立实例共享相同的主机名后缀,并且连接方式相同;没有单独的网卡,也没有仅限托管实例的行为。
-- 针对托管服务的普通 T-SQL,只读 SELECT TOP (50) c.Name, COUNT(o.OrderId) AS Orders, SUM(o.Amount) AS Revenue FROM dbo.Customers AS c JOIN dbo.Orders AS o ON o.CustomerId = c.CustomerId WHERE o.PlacedAt >= DATEADD(day, -30, SYSUTCDATETIME()) GROUP BY c.Name ORDER BY Revenue DESC;
每个数据库连接器共享
适用于所有数据库连接器
- 仅限出站 — 代理程序会打开一个加密连接到查询流。无需转发入站端口,无需 VPN,无需 IP 允许列表,您的数据库信息不会暴露在互联网上。
- 凭证保留 — 数据库用户名和密码存储在您安装代理的计算机上。Query Streams 永远不会收到这些信息,也无法自行访问您的数据库。
- 只读,强制执行 ——一次只执行一条语句,仅限 SELECT 及其相关语句。写入操作会在发送到服务器之前就被本地机器拒绝,而不是依赖于其他人设置的权限。
- 部署任意数量的代理 每个站点、区域或云端只需一个代理。所有数据源都显示在同一个下拉菜单中,因此无需了解哪个代理托管哪些数据源。
查询保存后您将获得什么?
- 分享的是能力,而不是 SQL — 同事或外部合作伙伴可以运行您的查询并更改其筛选条件,而无需查看其背后的语句。
- 双向过滤 — 您可以自己将它们声明为 @variables,或者让连接器发现 WHERE 子句中已有的字面值,并将其作为下拉列表提供。
- 随时随地阅读 — Microsoft Excel、Google Sheets、Power BI、REST API、MCP 上的 AI 助手、查询生成器和 Nova 都读取同一个已保存的查询。
- 同时运行多个程序 — 将五个已保存的查询分别保存到五个工作表标签中,同时进行流式传输,无论结果有多大。
- 将其连接到您已连接的任何其他内容 — 用一条只读语句访问另一个数据库、业务 API 或文件文件夹。
跨源 SQL
将 Azure SQL 与您的其余数据连接起来
一条语句可以同时跨越 Azure SQL 和其他连接。每个数据源只运行它能够处理的部分,并将结果流式传输回来,连接操作则在中心位置集中完成——各个数据源之间互不通信,也不会复制任何数据。
3 个连接 · 3 个代理
一份声明
——没有任何复制、合并或安排操作。
选择 c.region,COUNT(*) AS orders,SUM(i.amount_due) AS invoiced
从 azure_sql.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 语句,并且对单个查询中每个数据源可以传输的数据量有限制。 联合查询的工作原理
连接详情
Azure SQL 需要什么
- 主持人
- <server>.database.windows.net — Azure SQL 数据库和 SQL 托管实例的后缀相同
- 默认端口
- 1433,默认情况下会从连接字符串中省略。
- 司机
- Microsoft.Data.SqlClient 6.0.1
- 验证
- SQL 身份验证。不支持 Microsoft Entra ID、托管标识和 Windows 身份验证。
- 加密
- Azure 强制使用 TLS 并拒绝未加密的连接,因此流量会被加密;代理不会验证证书链。
- 池化
- 故意关闭——查询之间数据库中没有任何数据处于空闲状态
- 暂停
- TCP 可达性检查需要 5 秒,连接需要 30 秒,查询开始返回需要 35 秒。
- 无服务器
- 冷唤醒可能会持续超过连接超时时间;没有自动重试机制,因此长时间暂停后的第一次查询可能需要运行两次。
- 权限
- 使用 SQL 登录并执行 SELECT 语句来读取您想要读取的内容
- 默认架构
- dbo,也就是联合引用所携带的那个。
这里的安全机制与本地 SQL Server 连接器迁移到 Azure 后的优势相同。代理程序位于您的虚拟网络 (VNet) 内,并仅对外开放一个连接,因此数据库始终保持公共网络访问关闭状态,防火墙中不会包含任何会发生变化的办公地址,也不会监听您的任何活动。不会复制任何数据,也不会进行任何计划任务——查询仅在有人请求时才会运行。
无服务器架构被明确提及,而非轻描淡写地带过。自动暂停是一项用户有意选择的成本功能,其后果是,在一段空闲期后,首次查询可能会超过 30 秒的连接超时时间,且不会进行重试。提前了解这一点可以将原本莫名其妙的故障转化为预期故障;关闭连接池也意味着查询流并非维持暂停数据库正常运行并产生计费的关键。
Azure SQL 数据库无法在 T-SQL 中跨其自身的数据库进行连接,这是服务本身的限制,而非此连接器的限制。查询流中的跨源查询是通过不同的连接组装的,因此,无论连接对象是 Postgres 应用程序数据库、CSV 文件文件夹还是计费 API,Azure SQL 数据库都可以在一个只读语句中连接——语句名称为 `azure_sql.dbo.orders`,因为 dbo 是 SQL Server 所包含的数据库类型。
供应商文档: azure.microsoft.com
常问问题
关于 Azure SQL 的问题
哪些工具可以通过查询流读取 Azure SQL 数据?
所有这些工具,只需一次连接即可使用:Excel、Google Sheets、MCP、REST API、Airtable、Baserow、SeaTable、Smartsheet、Anvil、Power BI、定时提醒和报表。只需连接一次数据库,所有平台都使用同一个只读连接——无需为每个工具单独设置,也无需创建数据副本。
我是否需要为我的 Azure SQL 数据库打开防火墙端口?
不。Query Streams 网络代理运行在您的网络内部,并打开一个单独的出站加密连接。它不会监听入站流量,无需 VPN,数据库也会保留其现有的防火墙规则。
查询流可以更改 Azure SQL 中的数据吗?
不。代理在执行时强制执行只读模式——一次只执行一条语句,仅限 SELECT 及其相关语句。凭据保留在代理上,绝不会发送到查询流。
Query Streams 需要哪些组件才能连接到 Azure SQL?
可访问的主机、角色及其密码——代理程序自带驱动程序,因此无需在数据库上安装任何内容。主机:<server>.database.windows.net——Azure SQL 数据库和 SQL 托管实例的后缀相同。默认端口:1433,如果已是默认端口,则连接字符串中省略此端口。驱动程序:Microsoft.Data.SqlClient 6.0.1。身份验证:SQL 身份验证。不支持 Microsoft Entra ID、托管标识和 Windows 身份验证。
我可以在同一个查询中将 Azure SQL 连接到另一个数据库吗?
是的——这就是联合查询。一条语句可以同时引用 Azure SQL 和其他连接,格式为 connection.schema.table。每个数据源只运行它能够执行的部分,并将结果流式传输回来;连接操作在中心进行,因此数据源之间不会相互连接,也不会进行任何复制或调度。所有部分(SELECT、WITH 和 EXPLAIN)都采用只读模式,并且单个数据源在单次查询中可以传输的数据量有限制。联合查询是一项计划功能;联合查询页面会显示当前的数据源和大小限制。
连接 Azure SQL 与连接 Microsoft SQL Server 有什么不同?
仅需连接字符串。Azure SQL 使用 Microsoft SQL Server 的网络协议,因此筛选器、计划任务、共享、Excel 和 Google Sheets 加载项以及 MCP 服务器的行为都完全相同。Azure SQL 卡片会预先填充提供商所需的主机、端口和 SSL 设置。
是否有 Azure SQL 到 Excel 的转换指南?
是的——这是微软 SQL Server 指南,而且就 Azure SQL 而言,指南中的内容也完全正确。Azure SQL 使用微软 SQL Server 的网络协议,因此 Azure SQL 连接到 Excel、Azure SQL 连接到 Google Sheets 以及其他所有目标平台都遵循相同的步骤。唯一 Azure SQL 特有的部分是连接字符串,Azure SQL 卡片会自动为您填写。

