Както Майк заяви, най-добрият начин е да използвате information_schema
. Докато не сте в основната база данни, системните съхранени процедури няма да бъдат върнати.
SELECT *
FROM DatabaseName.INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'PROCEDURE'
Ако по някаква причина сте имали несистемни съхранени процедури в главната база данни, можете да използвате заявката (това ще филтрира ПОВЕЧЕТО системни съхранени процедури):
SELECT *
FROM [master].INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'PROCEDURE'
AND LEFT(ROUTINE_NAME, 3) NOT IN ('sp_', 'xp_', 'ms_')