Använd sys.sql_modules
eftersom definition
är nvarchar(max)
eftersom det inte kommer att trunkera lång kod.
I INFORMATION_SCHEMA.ROUTINES
ROUTINE_DEFINITION
kolumnen är bara nvarchar(4000)
så om du försöker se texten i en lång procedur så ser du att den är trunkerad.
Använd detta för att söka efter text i valfri procedur, vy, funktion:
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 '%'[email protected]+'%'
ORDER BY o.type_desc,o.name
använd detta för att se texten för en given procedur, vy, funktion:
select * from sys.sql_modules where object_id=object_id('YourProcedure')