Here is what I use to check all my Procedures, Views and Functions:
declare @dbname nvarchar(50) = '<your database name here>.'
declare @t1 table(dbname nvarchar(50), [type] nvarchar(2), name nvarchar(50), script nvarchar(max))
declare @t2 table(dbname nvarchar(50), [type] nvarchar(2), name nvarchar(50), error nvarchar(max))
declare @s1 nvarchar(max), @s2 nvarchar(max), @name nvarchar(50), @type nvarchar(2), @script nvarchar(max)
set @s1 =
'
select ''@dbname'', o.[type], o.name
, (case when o.[type] in (''V'',''TF'') then ''select top 1 * from '' else ''exec '' end) + ''[@dbname].[dbo].['' + o.name + '']''
+ (case when o.[type] = ''TF'' then ''('' else '''' end) +
isnull(replace(replace(replace((select ''NULL'' s from @dbname.INFORMATION_SCHEMA.PARAMETERS
where specific_name = o.name and parameter_mode = ''in'' for xml path ('''')), ''</s><s>'', '',''), ''<s>'', '' ''), ''</s>'', ''''), '''')
+ (case when o.[type] = ''TF'' then '')'' else '''' end) script
from @dbname.sys.objects o
where o.[type] in (''P'',''V'',''TF'',''FN'')
and ascii(left(o.name, 1)) > 64
and left(o.name, 3) <> ''dt_''
'
set @s2 = replace(@s1,'@dbname', @dbname)
insert @t1 exec (@s2)
declare c cursor for select dbname, [type], name, script from @t1
open c
fetch next from c into @dbname, @type, @name, @script
while @@fetch_status = 0
begin
begin try
exec(@script)
end try
begin catch
insert @t2 select @dbname, @type, @name, error_message()
end catch
fetch next from c into @dbname, @type, @name, @script
end
close c
deallocate c
select * from @t2
order by dbname, [type], name