Verwenden Sie sys.sql_modules weil definition ist nvarchar(max) weil es keinen langen Code abschneidet.
In INFORMATION_SCHEMA.ROUTINES die ROUTINE_DEFINITION Spalte ist nur nvarchar(4000) Wenn Sie also versuchen, den Text einer langen Prozedur anzuzeigen, werden Sie feststellen, dass er abgeschnitten ist.
Verwenden Sie dies, um in jeder Prozedur, Ansicht, Funktion nach Text zu suchen:
SELECT DISTINCT
o.name AS Object_Name,o.type_desc
FROM sys.sql_modules m
INNER JOIN sys.objects o ON m.object_id=o.object_id
WHERE m.definition Like '%'example@sqldat.com+'%'
ORDER BY o.type_desc,o.name
Verwenden Sie dies, um den Text einer bestimmten Prozedur, Ansicht, Funktion anzuzeigen:
select * from sys.sql_modules where object_id=object_id('YourProcedure')