A quick way to search cached query plans (for missing indexes, table scans, etc.)
--exec dbo.dba_SearchCachedPlans '%MissingIndexes%'
--2. exec dbo.dba_SearchCachedPlans '%ColumnsWithNoStatistics%'
--3. exec dbo.dba_SearchCachedPlans '%TableScan%'
--4. exec dbo.dba_SearchCachedPlans '%CREATE PROC%MessageWrite%'
DECLARE @StringToSearchFor VARCHAR(100)
SET @StringToSearchFor = '%
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SELECT TOP 20
st.text AS [SQL]
, cp.cacheobjtype
, cp.objtype
, DB_NAME(st.dbid)AS [DatabaseName]
, cp.usecounts AS [Plan usage]
, qp.query_plan
FROM sys.dm_exec_cached_plans cp
CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) st
CROSS APPLY sys.dm_exec_query_plan(cp.plan_handle) qp
WHERE CAST(qp.query_plan AS NVARCHAR(MAX))LIKE @StringToSearchFor
ORDER BY cp.usecounts DESC
No comments:
Post a Comment