CREATE PROCEDURE [dbo].[usp_Search]
(
@spname varchar(50)
)
AS
BEGIN
/************************************************************
AUTHOR: Viral Patel
DESC: Quick search for all objects with specified string in
their names
USAGE: Exec usp_Search 'string to search'
************************************************************/
declare @QUERY varchar(500);
-- views
SET @QUERY = 'select * from sys.all_objects where type = ''v'' and name like ''%' + @spname +'%''';
print @QUERY
EXEC SYS.SP_SQLEXEC @QUERY ;
-- user tables
SET @QUERY = 'select * from sys.all_objects where type = ''u'' and name like ''%' + @spname +'%''';
print @QUERY
EXEC SYS.SP_SQLEXEC @QUERY ;
-- stored procedures
SET @QUERY = 'select * from sys.all_objects where type = ''p'' and name like ''%' + @spname +'%''';
print @QUERY
EXEC SYS.SP_SQLEXEC @QUERY ;
-- you can also add other objects type as per your requirement in the stored proc.
-- Following are the types for various objects
--FN SQL_SCALAR_FUNCTION
--IF SQL_INLINE_TABLE_VALUED_FUNCTION
--F FOREIGN_KEY_CONSTRAINT
--U USER_TABLE
--FS CLR_SCALAR_FUNCTION
--UQ UNIQUE_CONSTRAINT
--SQ SERVICE_QUEUE
--D DEFAULT_CONSTRAINT
--S SYSTEM_TABLE
--AF AGGREGATE_FUNCTION
--P SQL_STORED_PROCEDURE
--PK PRIMARY_KEY_CONSTRAINT
--V VIEW
--IT INTERNAL_TABLE
--X EXTENDED_STORED_PROCEDURE
--PC CLR_STORED_PROCEDURE
--TF SQL_TABLE_VALUED_FUNCTION
END

