你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 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) 查询。

提示

Azure SQL 数据库的新功能? 快速了解深入的免费培训内容:Azure SQL 基础知识

通过查询编辑器连接

查询编辑器有两个身份验证选项: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) 权限“服务器和数据库的读取访问权限”,才能使用查询编辑器。

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

  • 导航栏

  • 对象资源管理器

  • “查询”窗口

  • Copilot for Azure SQL Database

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

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

  • 可以使用“登录”更改身份验证上下文。
  • 可以使用“新建查询”打开空白查询窗口。
  • 可以使用“打开查询”从本地计算机中选择最多 10 个 .sql.txt 文件,并在查询窗口中将其打开。
  • 可以在 Azure SQL 数据库查询编辑器上提供反馈。

对象资源管理器

使用对象资源管理器,可以查看数据库的表、视图和存储过程,并针对这些内容执行任务。

  • 展开“表”可查看数据库中的表列表。 展开一个表可以查看表中的列。 使用省略号选择前 1,000 行、访问数据编辑器或重命名表。 如果重命名表,请使用刷新箭头查看变化。
  • 展开“视图”可查看数据库中的视图列表。 展开一个视图可以查看该视图中的列。 使用省略号可以选择前 1,000 行或重命名视图。 如果重命名视图,请使用刷新箭头查看变化。
  • 展开“存储过程”可查看数据库中所有存储过程的列表。 展开一个存储过程可以查看该存储过程的输出。 使用省略号可以在查询窗口中查看存储过程的定义。

“查询”窗口

在此窗口中,可以键入或粘贴查询,然后运行它。 查询的结果显示在“结果”窗格中。

你可以取消查询。 如注意事项和限制部分所述,有五分钟的超时期限。

使用“保存查询”按钮,可以将查询文本作为 .sql 文件保存到计算机。

使用“将数据导出为”按钮,可以将查询结果作为 .json、.csv 或 .xml 文件导出到计算机。

查询执行时间或错误显示在状态栏中。

Copilot for Azure SQL Database(预览版)

Copilot in Azure SQL Database 是一款 AI 助手,旨在简化 Azure SQL 数据库驱动的应用程序的设计、操作、优化和运行状况。 它通过提供自然语言到 SQL 转换和自助数据库管理,来提高 Azure 门户的工作效率。

适用于 Azure SQL 数据库的 Azure 门户查询编辑器内的自然语言到 SQL 体验将自然语言查询转换为 SQL,使数据库交互更加直观。

有关 Copilot in Azure SQL Database 的 SQL 功能的自然语言教程和示例,请参阅 Azure 门户查询编辑器(预览版)中的自然语言到 SQL。 有关详细信息,请参阅有有关 Copilot in Microsoft Azure SQL(预览版)的常见问题解答

数据编辑器

使用数据编辑器,可以修改现有行中的数据、向表添加新的数据行或删除数据行。 这类似于 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.windows.net* 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 资源的入站和出站网络流量。 需要向网络安全组添加一个出站安全规则。 有关示例,请参阅“创建安全规则”。

下一步