I\'m trying to find all references to an object in an SQL Server database.
How can I quickly search? SQL Server Management Studio does not seem to do it. I use http:
With the use of an undocumented SQL sp: sp_msforeachdb
exec sp_msforeachdb '
USE [?];
--IF DB_NAME() NOT IN (''master'',''tempdb'',''model'',''msdb'')
BEGIN
DECLARE
@SearchStr varchar(100)
SET @SearchStr = ''%column_store_segments%'';
SELECT DISTINCT
''?'' as db_name, o.name
, ( CASE upper(o.xtype)
WHEN ''C'' THEN ''CHECK constraint''
WHEN ''D'' THEN ''Default or DEFAULT constraint''
WHEN ''F'' THEN ''FOREIGN KEY constraint''
WHEN ''L'' THEN ''Log''
WHEN ''FN'' THEN ''Scalar function''
WHEN ''IF'' THEN ''Inline table-function''
WHEN ''PK'' THEN ''PRIMARY KEY or UNIQUE constraint''
WHEN ''P'' THEN ''Stored procedure''
WHEN ''R'' THEN ''Rule''
WHEN ''RF'' THEN ''Replication filter stored procedure''
WHEN ''S'' THEN ''System table''
WHEN ''TF'' THEN ''Table function''
WHEN ''TR'' THEN ''Trigger''
WHEN ''U'' THEN ''User table''
WHEN ''V'' THEN ''View''
WHEN ''UQ'' THEN ''UNIQUE constraint (type is K)''
WHEN ''X'' THEN ''Extended stored procedure''
ELSE upper(o.xtype) END ) Type
, ( CASE upper(o.xtype)
WHEN ''PK'' THEN ( select object_name(parent_object_id) FROM sys.key_constraints (nolock) WHERE o.name=name )
WHEN ''F'' THEN ( select object_name(parent_object_id) FROM sys.foreign_keys (nolock) WHERE o.name=name )
WHEN ''TR'' THEN ( select object_name(parent_id) FROM sys.triggers (nolock) WHERE o.name=name )
ELSE '''' END ) as Parent_Object
FROM sysobjects o (nolock)
INNER JOIN syscomments sc (nolock) ON o.id = sc.id
WHERE UPPER( text ) LIKE UPPER( @SearchStr ) AND substring(o.name,1,3)<> ''dt_''
GROUP BY o.name, o.xtype
END'
GO