适用于 Azure SQL 数据库的 Azure 门户查询编辑器

适用于:Azure SQL 数据库

查询编辑器(预览版)是一种在浏览器的 Azure 门户中针对 Azure SQL 数据库运行 T-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) 权限“服务器和数据库的读取访问权限”,才能使用查询编辑器。

查询编辑器有三个主要部分:

  • 导航栏

  • 对象资源管理器

  • “查询”窗口

    Azure 门户的屏幕截图,显示了突出显示主菜单中的查询编辑器以及导航栏、对象资源管理器和查询窗口的红色矩形。

可以在导航栏中执行四个任务。

  • 可以使用“登录”更改身份验证上下文。
  • 可以使用“新建查询”打开空白查询窗口。
  • 可以使用“打开查询”从本地计算机中选择最多 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 门户查询编辑器外,还请考虑以下适用于其他工具的快速入门:

连接注意事项

连接错误故障排除

  • 如果看到错误消息 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> 登录失败。 服务器当前未配置为接受此令牌。”这表示你的用户无权访问数据库。

端口 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

  1. 打开 Windows Defender 防火墙。
  2. 在左侧菜单上,选择“高级设置”。
  3. 在“高级安全 Windows Defender 防火墙”中,选择左侧菜单上的“出站规则”。
  4. 选择右侧菜单上的“新建规则”。
  5. 在“新建出站规则向导”中,执行以下步骤:
    1. 选择“端口”作为要创建的规则类型,然后选择“下一步”。
    2. 选择“TCP”。
    3. 选择“特定远程端口”,输入“443, 1443”,然后选择“下一步”。
    4. 选择“如果连接安全则允许连接”,选择“下一步”,然后再次选择“下一步”。
    5. 让“域”、“专用”和“公共”保持选定状态。
    6. 为规则提供一个名称,例如“访问 Azure SQL 查询编辑器”,并根据需要提供说明。 然后选择“完成”。

在 macOS 中允许 443 和 1443

  1. 在 Apple 菜单上,打开“系统首选项”。
  2. 选择“安全和隐私”,然后选择“防火墙”
  3. 如果“防火墙”处于关闭状态,请选择“单击此锁进行更改”,然后选择“启用防火墙”
  4. 选择“防火墙选项”。
  5. 在“安全和隐私”窗口中,选择“自动允许已签名的软件接收传入连接”

在 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 资源的入站和出站网络流量。 需要向网络安全组添加一个出站安全规则。 有关示例,请参阅“创建安全规则”。

下一步