Use
sys.sql_modules
porque definition
é nvarchar(max)
porque não truncará código longo. Em
INFORMATION_SCHEMA.ROUTINES
a ROUTINE_DEFINITION
coluna é apenas nvarchar(4000)
então se você tentar visualizar o texto de um procedimento longo e verá que ele está truncado. Use isso para pesquisar texto em qualquer procedimento, visualização, função:
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
use isso para ver o texto de um determinado procedimento, visão, função:
select * from sys.sql_modules where object_id=object_id('YourProcedure')