Skip to content

Commit cacab6e

Browse files
authored
Merge pull request #1858 from BrentOzarULTD/issue_1851
Expand proc name to triggers and functions
2 parents a484db9 + 3e7f4bc commit cacab6e

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

sp_BlitzCache.sql

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1539,14 +1539,35 @@ IF @StoredProcName IS NOT NULL AND @StoredProcName <> N''
15391539

15401540
BEGIN
15411541
RAISERROR(N'Setting up filter for stored procedure name', 0, 1) WITH NOWAIT;
1542-
INSERT #only_sql_handles
1542+
1543+
DECLARE @function_search_sql NVARCHAR(MAX) = N''
1544+
1545+
INSERT #only_sql_handles
15431546
( sql_handle )
15441547
SELECT ISNULL(deps.sql_handle, CONVERT(VARBINARY(64),'0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'))
15451548
FROM sys.dm_exec_procedure_stats AS deps
15461549
WHERE OBJECT_NAME(deps.object_id, deps.database_id) = @StoredProcName
1547-
OPTION (RECOMPILE) ;
15481550

1549-
IF (SELECT COUNT(*) FROM #only_sql_handles) = 0
1551+
UNION ALL
1552+
1553+
SELECT ISNULL(dets.sql_handle, CONVERT(VARBINARY(64),'0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'))
1554+
FROM sys.dm_exec_trigger_stats AS dets
1555+
WHERE OBJECT_NAME(dets.object_id, dets.database_id) = @StoredProcName
1556+
OPTION (RECOMPILE);
1557+
1558+
IF EXISTS (SELECT 1/0 FROM sys.all_objects AS o WHERE o.name = 'dm_exec_function_stats')
1559+
BEGIN
1560+
SET @function_search_sql = @function_search_sql + N'
1561+
SELECT ISNULL(defs.sql_handle, CONVERT(VARBINARY(64),''0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000''))
1562+
FROM sys.dm_exec_function_stats AS defs
1563+
WHERE OBJECT_NAME(defs.object_id, defs.database_id) = @i_StoredProcName
1564+
OPTION (RECOMPILE);
1565+
'
1566+
INSERT #only_sql_handles ( sql_handle )
1567+
EXEC sys.sp_executesql @function_search_sql, N'@i_StoredProcName NVARCHAR(128)', @StoredProcName
1568+
END
1569+
1570+
IF (SELECT COUNT(*) FROM #only_sql_handles) = 0
15501571
BEGIN
15511572
RAISERROR(N'No information for that stored procedure was found.', 0, 1) WITH NOWAIT;
15521573
RETURN;

0 commit comments

Comments
 (0)