查询结果概述

在 Transact-SQL 编辑器中打开或创建数据库查询后,通常会执行该查询并检查结果。执行查询时,编辑器使用“结果”窗格显示该查询的结果。“结果”窗格最多可包含 5 个选项卡:“结果”“消息”“客户端统计信息”“执行计划”。所看到的特定选项卡取决于以下因素。

  • Show results setting: Choose to show results in one of three ways: Results as Grid (default), Results As Text, or Results as File.这将决定是用**“结果”选项卡、“消息”**选项卡还是同时用这两者传递结果。

  • 客户端统计信息设置:如果启用**“包括客户端统计信息”设置,“客户端统计信息”**选项卡将用于显示统计信息。

  • 执行计划设置:如果单击**“显示预计执行计划”或启用“包括实际执行计划”设置,则“执行计划”**选项卡用于显示执行计划。

使用窗口边缘的拆分条可调整“结果”窗格的大小。

“结果”选项卡

如果选择结果显示为网格,则**“结果”选项卡显示查询从数据库检索到的数据。数据由一个或多个独立的结果集组成。只有返回结果的查询(如包含 SELECT 语句或存储过程的查询)在“结果”选项卡上显示数据。如果已成功执行查询但没有返回结果集,则不出现“结果”**选项卡。

如果选择结果显示为文本,则所有结果和消息都显示在**“结果”选项卡上,并且不出现“消息”选项卡。如果选择将结果另存为文件,则系统会提示您输入将保存结果的文件名。消息显示在“消息”**选项卡上。

**“验证 SQL 语法”命令的结果始终显示在“结果”**选项卡上。

右击**“结果”**选项卡时,可执行下列操作:

  • 复制
    将所选数据(一个单元格或一定范围内的单元格)复制到剪贴板。

  • 全选
    选择结果列表中的所有行和所有列。通常在复制数据前执行此操作。

  • 结果另存为
    将**“结果”**选项卡的内容保存到指定的 .CSV 文件中。如果选择结果显示为文本,则结果将保存到.TXT 文件中。

  • 属性窗口
    显示属性窗口。

多个结果集

如果执行一组会产生多个结果集的 Transact-SQL 语句,则这些结果集都显示在“结果”选项卡上,并且用拆分条隔开。使用拆分条可以调整各个结果集的大小,而按 F6 和 Shift+F6 则可以在结果和窗格之间导航。

“消息”选项卡

**“消息”选项卡显示执行查询时数据库服务器返回的任何消息。这些消息包括文本输出,如 PRINT 语句的结果。“消息”选项卡还包括自定义消息,如使用“GO 10”执行批处理时显示的消息。不检索数据的查询(如更新查询)也在“消息”**选项卡上显示消息。

成功消息和失败消息都按服务器返回它们的顺序显示在此选项卡上。如果选择结果显示为文本,则**“消息”选项卡的内容显示在“结果”**选项卡上,而不显示在“消息”选项卡上。

右击**“消息”**选项卡时,可执行下列操作:

  • 复制
    将所选文本复制到剪贴板。

  • 全选
    选择所有消息。通常在复制消息前执行此操作。

  • 结果另存为
    将**“消息”**选项卡的内容保存到指定的 .TXT 文件中。

  • 属性窗口
    显示属性窗口。

“客户端统计信息”选项卡

**“客户端统计信息”**选项卡所包含的信息与该 Transact-SQL 编辑器实例中查询的每个执行有关。每次运行查询时都会添加一列,并更新平均值。每个单元格不仅指示该执行的值,而且指示该值是否已更改。上箭头表示增加,下箭头表示减少,而右箭头表示值对于上一个执行而言没有变化。

提示

每个执行都会在“统计信息”列的右边及上一个执行所在列的左边添加一列。

对于第一个执行,所有结果都标记为无变化。每列都用查询的执行时间来标记。在左侧添加列。

仅当在执行查询时选择了包括客户端统计信息时,才会显示“客户端统计信息”选项卡。有关更多信息,请参见如何:控制客户端统计信息的收集和显示

右击**“客户端统计信息”**选项卡时,可执行下列操作:

  • 复制
    将所选行复制到剪贴板。

  • 全选
    选择所有行。通常在复制行前执行此操作。

  • 属性窗口
    显示属性窗口。

可用统计信息

**“客户端统计信息”**选项卡上提供了下列统计信息:

  • INSERT、DELETE 和 UPDATE 语句的数目
    因查询而执行的 INSERT、DELETE 或 UPDATE 语句数。

  • 受 INSERT、DELETE 和 UPDATE 语句影响的行
    作为查询一部分而执行的 INSERT、DELETE 或 UPDATE 语句所影响的行数。

  • SELECT 语句的数目
    作为查询执行一部分而通过连接执行的 SELECT 语句数。此数包括从游标检索行的 FETCH 语句。

  • SELECT 语句返回的行
    作为查询执行一部分而选择的行数。此数反映了由 Transact-SQL 语句生成的所有行,即使调用方并未真正占用这些行(例如,如果取消执行的话)也是如此。此数还包括从游标检索行的 FETCH 语句。

  • 事务数
    作为查询执行一部分而启动的用户事务数,包括回滚。

  • 服务器往返的次数
    作为查询执行一部分,连接向服务器发送命令以及收到应答的次数。

  • 从客户端发送的 TDS 数据包
    在执行查询期间客户端向数据库服务器所发送的 TDS 数据包数量。大命令可能需要多个缓冲区。例如,如果某个大命令发送到服务器,并且需要六个数据包,则服务器往返的次数将以 1 递增,而客户端所发送的 TDS 数据包数量将以 6 递增。

  • 从服务器接收的 TDS 数据包
    客户端从 SQL Server 实例接收的 TDS 数据包数量。

  • 从客户端发送的字节数
    在执行查询期间客户端向 SQL Server 实例发送的字节数。

  • 从服务器接收的字节数
    在执行查询期间客户端从 SQL Server 实例接收的字节数。

  • 客户端处理时间
    在执行查询时客户端用于执行代码的累计时间量。

  • 总执行时间
    在执行查询时客户端用于处理的累计时间量(毫秒),包括客户端等待服务器应答所用的时间以及执行代码所用的时间。

  • 服务器应答等待时间
    客户端等待服务器应答所用的累计时间量(毫秒)。

“执行计划”选项卡

**“执行计划”**选项卡显示所选查询的预计或实际执行计划。生成预计执行计划时,Transact-SQL 查询或批处理不会执行。但生成的执行计划会显示在实际执行查询时,SQL Server 实例将极有可能使用的查询执行计划。

需要到 SQL Server 实例的连接,才能显示预计或实际执行计划。若要访问包含**“显示预计执行计划”“包括实际执行计划”按钮的菜单,请右击 Transact-SQL 编辑器窗口,或者单击“数据”,再单击“Transact-SQL 编辑器”**。若要查看实际执行计划,还必须执行查询或批处理。

若要查看其他信息,请将鼠标暂停在逻辑和物理运算符图标上,并查看显示的工具提示中有关运算符的说明和属性。另外,还可以在属性窗口中查看运算符属性。如果属性窗口不可见,请右击某运算符,再单击**“属性窗口”**。选择要查看其属性的运算符。

若要使用此功能,用户必须拥有适当权限才能执行为其生成图形执行计划的 Transact-SQL 查询,而且用户必须获得对查询引用的所有数据库的 SHOWPLAN 权限。有关更多信息,请参见 Showplan(可能为英文网页)。

右击**“执行计划”**选项卡时,可执行下列操作:

  • 结果另存为
    将**“执行计划”**选项卡的内容保存到指定的执行计划 (.sqlplan) 文件中。

  • 属性窗口
    显示属性窗口。

请参阅

任务

如何:执行查询

参考

Transact-SQL 编辑器选项(查询执行/常规)

概念

使用 Transact-SQL 编辑器编辑数据库脚本和对象