【问题标题】:SQL Server Management Studio 2016 → Activity monitor → Show execution planSQL Server Management Studio 2016 → 活动监视器 → 显示执行计划
【发布时间】:2016-03-03 13:53:57
【问题描述】:

当我想查看最近开销较大的查询的执行计划时遇到问题。问题是结果显示在XML 中,而不是作为执行计划的设计。

有谁知道如何解决这个问题?

【问题讨论】:

  • 在“执行计划格式”部分查看这篇文章simple-talk.com/sql/performance/execution-plan-basics
  • 无复制。您究竟尝试了什么?您是否选择了错误的菜单项?
  • 如果将 XML 保存为扩展名为 .sqlplan 的文件会怎样?那么它在 SSMS 中可以正常打开吗?如果不是什么版本的 SSMS 以及计划来自哪个版本的 SQL Server?

标签: sql-server ssms ssms-2016


【解决方案1】:

首先,对我来说,它开箱即用。 Microsoft SQL Server 管理工作室 13.0.15700.28。确保您拥有最新版本。我用于此测试的那个不是最新的,但它可以工作。

我在 SSMS 中打开 Activity Monitor,展开“Recent Expensive Queries”选项卡,右键单击查询并在弹出菜单中选择“Show Execution Plan”,然后 SSMS 会打开一个带有计划图形视图的新窗口。

如果我右键单击计划的图形视图,弹出菜单中有“将执行计划另存为...”和“显示执行计划 XML”命令,它们允许将 XML 文件与计划一起保存。

也许这一切都行得通,因为我安装了 SQL Sentry Plan Explorer。

无论如何,如果您有一个包含计划的 XML 文件,您可以在 SSMS 中以图形视图的形式打开它。将文件的扩展名从 .xml 更改为 .sqlplan。然后使用标准 File - Open 命令在 SSMS 中打开此文件。

我强烈建议使用SentryOne Plan Explorer 来分析执行计划。它是免费的,并且明显优于 SSMS。它可以打开带有计划的.xml.sqlplan文件。

【讨论】:

    【解决方案2】:

    我不确定这是否会有所帮助,但您可以尝试在查询窗口中执行 SET SHOWPLAN_ALL OFF 选择您要执行的查询并按 CTRL + L(默认情况下,除非您已更改)查看查询窗口中的图形执行计划,而无需实际执行您的查询。

    此外,您还可以玩转这些 SET 命令:

    SET SHOWPLAN_XML ON | OFF
    SET SHOWPLAN_TEXT ON | OFF
    SET SHOWPLAN_ALL ON | OFF
    SET STATISTICS XML ON | OFF
    SET STATISTICS PROFILE ON | OFF
    SET STATISTICS IO ON | OFF
    SET STATISTICS TIME ON | OFF
    

    有关更多信息,请查看此技术网文章:https://technet.microsoft.com/en-us/library/ms180765(v=sql.105).aspx

    【讨论】:

      【解决方案3】:

      用户必须具有适当的权限才能执行正在为其生成图形执行计划的 Transact-SQL 查询,并且必须授予他们对查询引用的所有数据库的 SHOWPLAN 权限

      【讨论】:

        猜你喜欢
        • 2012-08-28
        • 1970-01-01
        • 1970-01-01
        • 2017-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多