1. Dieses Beispiel zeigt wie einen beliebigen Text in einer Stored Procedure findet.
ALTER PROCEDURE dbo.find_text_in_sp
@text varchar(250),
@dbname varchar(64) = null
AS BEGIN
SET NOCOUNT ON;
if @dbname is null
begin
enumerate all databases.
DECLARE #db CURSOR FOR Select Name from master..sysdatabases
declare @c_dbname varchar(64)
OPEN #db FETCH #db INTO @c_dbname
while @@FETCH_STATUS <> -1 and @MyCount < 500
begin
execute find_text_in_sp @text, @c_dbname
FETCH #db INTO @c_dbname
end
CLOSE #db DEALLOCATE #db
end if @dbname is null
else
begin @dbname is not null
declare @sql varchar(250)
create the find like command
select @sql = 'select + @dbname + as db, o.name,m.definition '
select @sql = @sql + ' from '+@dbname+'.sys.sql_modules m '
select @sql = @sql + ' inner join '+@dbname+'..sysobjects o on m.object_id=o.id'
select @sql = @sql + ' where definition like %'+@text+'%'
execute (@sql)
end @dbname is not null
END