Try this. It refreshes the data in sysdepends. I don't guarantee that all necessary objects are covered, just the ones I was using when I wrote this.
Yes, I know it uses a cursor and I could generate a string with the EXEC statements and execute that, but I don't see a big difference. Either way, I am executing the statements one at a time.
SELECTGETDATE()
DECLARE@NameVARCHAR(100),@TypeCHAR(5)
DECLAREModList
CURSORFAST_FORWARD READ_ONLY FOR
SELECTxType, Name
FROMsys.sysobjects
WHERExType IN ('P', 'FN', 'TR', 'V', 'TF')
ANDName NOT LIKE 'dt~_%' ESCAPE '~'
ANDName NOT LIKE 'jtf%'
ANDName NOT LIKE 'x~_%' ESCAPE '~'
--ANDName NOT IN ('...', '...')
ORDER BY Name
OPENModList
FETCHNEXT
FROMModList
INTO@Type, @Name
WHILE@@FETCH_STATUS = 0
BEGIN-- ModList Cursor
PRINT@Type + @Name
IF@Type = 'V'
EXECsp_refreshview @Name
ELSE
EXECsp_refreshsqlmodule @Name
FETCHNEXT
FROMModList
INTO@Type, @Name
END-- ModList Cursor
CLOSEModList
DEALLOCATE ModList
SELECTGETDATE()