Monday, 15 October 2012
How to find all stored procedures ,functions and Views which are used specific table in all databases?
Using sp_Msforeachdb
DECLARE @searchstring varchar(50) = '%DimDate%'
CREATE TABLE #tempitems (DatabaseName varchar(50),name varchar(max),
xtype nvarchar(max))
declare @MyVar varchar(max)
set @MyVar=convert(varchar(max),'USE [?]; INSERT INTO #tempitems
SELECT
''?'' ,name,
case when o.xtype=''P'' then ''PROCEDURE''
WHEN o.xtype=''v'' then ''VIEW''
WHEN o.xtype in(''FN'',''TF'') then ''FUNCTION'' end as ROUTINE_TYPE
FROM ?..syscomments c
JOIN ?..sysobjects o
ON c.id = o.id
WHERE Text LIKE ''%' + @searchstring + '%''
GROUP BY name,
case when o.xtype=''P'' then ''PROCEDURE''
WHEN o.xtype=''v'' then ''VIEW''
WHEN o.xtype in(''FN'',''TF'') then ''FUNCTION'' end
Union
select ''?'' Databasename,SPECIFIC_NAME Name, ROUTINE_TYPE as Type
from ?.information_schema.routines with(nolock)
where routine_definition like ''%' + @searchstring + '%''')
EXEC sp_Msforeachdb @MyVar
SELECT *from #tempitems
Order by DatabaseName,name
DROP Table #tempitems