Wie Mike sagte, ist der beste Weg, information_schema
zu verwenden . Solange Sie sich nicht in der Master-Datenbank befinden, werden gespeicherte Systemprozeduren nicht zurückgegeben.
SELECT *
FROM DatabaseName.INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'PROCEDURE'
Wenn Sie aus irgendeinem Grund nicht vom System gespeicherte Prozeduren in der Master-Datenbank hatten, können Sie die Abfrage verwenden (dies filtert die meisten gespeicherten Systemprozeduren heraus):
SELECT *
FROM [master].INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'PROCEDURE'
AND LEFT(ROUTINE_NAME, 3) NOT IN ('sp_', 'xp_', 'ms_')