Come ha affermato Mike, il modo migliore è usare information_schema
. Finché non sei nel database principale, le stored procedure di sistema non verranno restituite.
SELECT *
FROM DatabaseName.INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'PROCEDURE'
Se per qualche motivo avevi stored procedure non di sistema nel database principale, puoi utilizzare la query (questo filtrerà la maggior parte delle stored procedure di sistema):
SELECT *
FROM [master].INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'PROCEDURE'
AND LEFT(ROUTINE_NAME, 3) NOT IN ('sp_', 'xp_', 'ms_')