适用于 Azure SQL 数据库的 Azure 门户查询编辑器
适用于:Azure SQL 数据库
查询编辑器(预览版)是一种在浏览器的 Azure 门户中针对 Azure SQL 数据库运行 T-SQL 查询的工具。
- 有关 Azure 门户查询编辑器的快速入门,请参阅快速入门:使用 Azure 门户查询编辑器(预览版)。
- 有关更高级的对象资源管理器功能和管理功能,请参阅 Azure Data Studio 或 SQL Server Management Studio (SSMS)。
- 如果尚未创建 Azure SQL 数据库,请访问快速入门:创建单一数据库。
从 Azure 门户查询 Azure SQL 数据库
查询编辑器专为在 Azure SQL 数据库中进行轻型查询和对象浏览而设计,全部从 Azure 门户的浏览器中完成。 你可以针对数据库运行 T-SQL 查询,还可以在内置的表格数据编辑器中编辑数据。
与 SQL Server Management Studio 中的查询体验类似,使用查询编辑器进行简单查询或更大的 T-SQL 查询。 可以执行数据操作语言 (DML) 和数据定义语言 (DDL) 查询。
通过查询编辑器连接
查询编辑器有两个身份验证选项:SQL 身份验证或使用 Microsoft Entra ID(以前称为 Azure Active Directory)进行身份验证。
对 Azure SQL 数据库的身份验证
有关示例,请参阅快速入门:使用 Azure 门户查询编辑器(预览版)查询 Azure SQL 数据库。
- 若要使用 SQL 身份验证通过查询编辑器连接到 Azure SQL 数据库,必须在逻辑服务器的
master
数据库中具有登录名,或者在所需的用户数据库中具有包含的 SQL 用户。 有关详细信息,请参阅登录名。- 输入用户名和密码,然后选择“确定”。
- 若要使用 Microsoft Entra 身份验证通过查询编辑器连接到 Azure SQL 数据库,必须使用 Microsoft Entra 身份验证配置数据库,并且必须在数据库中创建 Microsoft Entra 用户。
- 选择“以 <user@domain> 的身份继续”。
访问查询编辑器所需的权限
用户至少需要 Azure 基于角色的访问控制 (RBAC) 权限“服务器和数据库的读取访问权限”,才能使用查询编辑器。
导航查询编辑器
查询编辑器有三个主要部分:
导航栏
可以在导航栏中执行四个任务。
- 可以使用“登录”更改身份验证上下文。
- 可以使用“新建查询”打开空白查询窗口。
- 可以使用“打开查询”从本地计算机中选择最多 10 个
.sql
或.txt
文件,并在查询窗口中将其打开。 - 可以在 Azure SQL 数据库查询编辑器上提供反馈。
对象资源管理器
使用对象资源管理器,可以查看数据库的表、视图和存储过程,并针对这些内容执行任务。
- 展开“表”可查看数据库中的表列表。 展开一个表可以查看表中的列。 使用省略号选择前 1,000 行、访问数据编辑器或重命名表。 如果重命名表,请使用刷新箭头查看变化。
- 展开“视图”可查看数据库中的视图列表。 展开一个视图可以查看该视图中的列。 使用省略号可以选择前 1,000 行或重命名视图。 如果重命名视图,请使用刷新箭头查看变化。
- 展开“存储过程”可查看数据库中所有存储过程的列表。 展开一个存储过程可以查看该存储过程的输出。 使用省略号可以在查询窗口中查看存储过程的定义。
“查询”窗口
在此窗口中,可以键入或粘贴查询,然后运行它。 查询的结果显示在“结果”窗格中。
你可以取消查询。 如注意事项和限制部分所述,有五分钟的超时期限。
使用“保存查询”按钮,可以将查询文本作为 .sql 文件保存到计算机。
使用“将数据导出为”按钮,可以将查询结果作为 .json、.csv 或 .xml 文件导出到计算机。
查询执行时间或错误显示在状态栏中。
数据编辑器
使用数据编辑器,可以修改现有行中的数据、向表添加新的数据行或删除数据行。 这类似于 SQL Server Management Studio (SSMS) 中的体验。
若要访问数据编辑器,请在对象资源管理器中展开“表”,并依次选择表名称右侧的省略号和“编辑数据(预览版)”。
要修改现有行中的数据,请选择要更改的值,对值进行更改,然后选择顶部的“保存”。
- 如果该列是标识列,则无法编辑该值。 你将看到错误消息:
Save failed: Failed to execute query. Error: Cannot update identity column *column_name*
。
要添加新行,请选择“新建行”,然后输入要添加的值。 在这种情况下,有一些数据类型是不能添加或使用的。
- 如果该列是标识列,你就不能在该字段中添加值。 你将看到错误消息:
Save failed: Cannot set value in identity columns *column_name*
。 - 不支持具有默认约束的列。 数据编辑器不会生成默认值,需要你输入一个值。 不建议对具有默认列约束的表使用数据编辑器。
- 计算列不会进行计算。 你将看到错误消息
Save failed: Failed to execute query. Error: The column *column_name* cannot be modified because it is either a computed column or is the result of a UNION operator.
。不建议对具有计算列的表使用数据编辑器。
若要删除某个数据行,请选择该行,然后选择“删除行”。
- 如果该行具有主键,并且该主键与其他表具有外键关系,则在删除该行时,也会删除其他表中的相关行。
注意事项和限制
使用 Azure 门户查询编辑器连接和查询 Azure SQL 数据库时,需要注意以下注意事项和限制。
查询编辑器限制
- 如果查询有多个语句,“结果”选项卡中只会显示最后一个语句的结果。
- 查询编辑器不支持连接到逻辑服务器的
master
数据库。 要连接到master
数据库,请使用其他工具来查询 Azure SQL 数据库。 - 查询编辑器无法使用
ApplicationIntent=ReadOnly
连接到副本数据库。 若要以这种方式进行连接,请使用 SSMS 并在连接选项的“其他连接参数”选项卡上指定ApplicationIntent=ReadOnly
。 有关详细信息,请参阅连接到只读副本。 - 查询编辑器的查询执行超时时间为 5 分钟。 若要运行更长的查询,请使用其他工具来查询 Azure SQL 数据库。
- 查询编辑器仅支持地理数据类型的柱面投影。
- 查询编辑器不支持数据库表和视图的 IntelliSense,但支持自动完成已键入的名称。 对于 IntelliSense 支持,请使用其他工具来查询 Azure SQL 数据库。
- 按“F5”会刷新查询编辑器页面,并且当前在编辑器中的任何查询均不保存。
查询 Azure SQL 数据库的其他方法
除了适用于 Azure SQL 数据库的 Azure 门户查询编辑器外,还请考虑以下适用于其他工具的快速入门:
- 快速入门:使用 Azure Data Studio 连接和查询 Azure SQL 数据库
- 快速入门:使用 SSMS 连接到并查询 Azure SQL 数据库或 Azure SQL 托管实例
- 快速入门:使用 Visual Studio Code 进行连接和查询
连接注意事项
- 对于与查询编辑器的公共连接,你需要将出站 IP 地址添加到服务器已允许的防火墙规则中,才能访问数据库。
- 如果在服务器上设置了专用链接连接,并且从专用虚拟网络内连接到服务器,无需将 IP 地址添加到 SQL Server 防火墙规则。
连接错误故障排除
如果看到错误消息
The X-CSRF-Signature header could not be validated
,请执行下列操作来解决此问题:- 确认计算机的时钟已设置为正确的时间和时区。 你可以尝试通过搜索数据库位置的时区,将计算机的时区与 Azure 匹配。
- 如果使用的是代理网络上,请确保未修改或删除请求头
X-CSRF-Signature
。
如果数据库为无服务器,且你看到错误消息:
Database *name* on server *name.database.chinacloudapi.cn* is not currently available. Please retry the connection later. If the problem persists, contact customer support, and provide them the session tracing ID *ID*
。这表示无服务器数据库当前已暂停。 如果发生这种情况,选择“Continue as <user@domain>
”可以将请求发送到数据库进行恢复。 等待大约一分钟,然后刷新页面并重试。如果在你尝试使用 AD 身份验证时,看到错误消息“用户
<token-identified principal>
登录失败。 服务器当前未配置为接受此令牌。”这表示你的用户无权访问数据库。- 有关从 Microsoft Entra 主体创建数据库用户的详细信息,请参阅使用 Azure SQL 配置和管理 Microsoft Entra 身份验证,并在用户数据库中使用
CREATE USER [group or user] FROM EXTERNAL PROVIDER
。
- 有关从 Microsoft Entra 主体创建数据库用户的详细信息,请参阅使用 Azure SQL 配置和管理 Microsoft Entra 身份验证,并在用户数据库中使用
端口 443 和 1443 连接
可能会在查询编辑器中收到以下错误之一:
Your local network settings might be preventing the Query Editor from issuing queries. Please click here for instructions on how to configure your network settings.
A connection to the server could not be established. This might indicate an issue with your local firewall configuration or your network proxy settings.
出现这些错误是因为查询编辑器无法通过端口 443 和 1443 进行通信。 需要在这些端口上启用出站 HTTPS 流量。 可按照以下说明完成此过程,具体步骤取决于 OS。 公司 IT 部门可能需要授予在本地网络上打开此连接的权限。
在 Windows Defender 防火墙中允许 443 和 1443
- 打开 Windows Defender 防火墙。
- 在左侧菜单上,选择“高级设置”。
- 在“高级安全 Windows Defender 防火墙”中,选择左侧菜单上的“出站规则”。
- 选择右侧菜单上的“新建规则”。
- 在“新建出站规则向导”中,执行以下步骤:
- 选择“端口”作为要创建的规则类型,然后选择“下一步”。
- 选择“TCP”。
- 选择“特定远程端口”,输入“
443, 1443
”,然后选择“下一步”。 - 选择“如果连接安全则允许连接”,选择“下一步”,然后再次选择“下一步”。
- 让“域”、“专用”和“公共”保持选定状态。
- 为规则提供一个名称,例如“访问 Azure SQL 查询编辑器”,并根据需要提供说明。 然后选择“完成”。
在 macOS 中允许 443 和 1443
- 在 Apple 菜单上,打开“系统首选项”。
- 选择“安全和隐私”,然后选择“防火墙”。
- 如果“防火墙”处于关闭状态,请选择“单击此锁进行更改”,然后选择“启用防火墙”。
- 选择“防火墙选项”。
- 在“安全和隐私”窗口中,选择“自动允许已签名的软件接收传入连接”。
在 Linux 中允许 443 和 1443
运行以下命令来更新 iptables
:
sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 1443 -j ACCEPT
在 Azure VM 中允许 443 和 1443
使用 Azure VM 时,有 Azure 网络安全组阻止连接。 网络安全组可以筛选进出 Azure 虚拟网络中 Azure 资源的入站和出站网络流量。 需要向网络安全组添加一个出站安全规则。 有关示例,请参阅“创建安全规则”。