【问题标题】:Query to result execution plan in SQL Server 2008 out of SSMS从 SSMS 查询 SQL Server 2008 中的结果执行计划
【发布时间】:2011-08-17 05:22:03
【问题描述】:

各位朋友,有没有类似select * from [stored proc] 的查询,它以 XML 格式返回 SQL 语句的执行计划...我不想使用 SSMS。

【问题讨论】:

  • 如果您不想使用 SSMS,您将使用什么?自定义应用程序(C#、Java 等)、sqlcmd 脚本……?您是在寻找实际计划(执行代码之后)还是估计计划(不执行代码)?您是否在寻找整批语句、单个 TSQL 语句、Stored Provedure 的计划……?更多细节会有所帮助。
  • 一个存储过程,我将在 C# 中创建一个自定义应用程序..我正在寻找估计计划...想法是比较在 2005 年和 2008 年服务器中执行的同一存储过程的两个估计计划。

标签: sql sql-server sql-server-2008 sql-execution-plan


【解决方案1】:

您可以使用sys.dm_exec_cached_planssys.dm_exec_text_query_plan获取XML查询计划。

select x.query_plan
from sys.dm_exec_cached_plans as p
  cross apply sys.dm_exec_text_query_plan(p.plan_handle,  0, -1) as x
where p.objtype = 'proc' and
      x.objectid = object_id('StoredProcName', 'P')

【讨论】:

  • Mikael 可以在传递类似语句(exec 'procname')之类的东西时,而不是传递过程名称
  • @sqlnewbie - 不。这将得到实际的执行计划,而不是估计的。
猜你喜欢
  • 2011-04-29
  • 2020-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-13
  • 1970-01-01
  • 1970-01-01
  • 2015-11-05
相关资源
最近更新 更多