在SQL Server中获取动态sql的查询/执行计划

时间:2011-02-22 11:28:04

标签: sql sql-server-2005 dynamic-sql sql-execution-plan

  

可能重复:
  How do I obtain a Query Execution Plan?

如何在SQL Server 2005中查看执行的动态sql的执行计划?我无法保存数据库所在的计算机上的任何文件。这是一个小例子:

declare @sqlcmd nvarchar(1000)
declare @param1 nvarchar(14)

set @param1 = '11111111%'
set @sqlcmd = 'SELECT * FROM myTable WHERE customer_id LIKE @customer_id'
EXECUTE sp_executesql @sqlcmd, N'@customer_id nvarchar(14)', @customer_id = @param1

所以我希望看到实际用于SELECT查询的执行计划。

2 个答案:

答案 0 :(得分:4)

只需在SQL Server Management Studio中按ctrl + m即可激活“包含实际执行计划”。这将显示真实的执行计划,就像任何普通查询一样。

答案 1 :(得分:1)

您可以使用分析器捕获执行计划。然后,您可以使用SQL Sentry的Plan Explorer(http://www.sqlsentry.com/plan-explorer/sql-server-query-view.asp)之类的内容来查看/分解捕获的查询计划。