sql >> Base de Datos >  >> RDS >> Sqlserver

Consulta para enumerar todos los procedimientos almacenados

Como dijo Mike, la mejor manera es usar information_schema . Mientras no esté en la base de datos maestra, no se devolverán los procedimientos almacenados del sistema.

SELECT * 
  FROM DatabaseName.INFORMATION_SCHEMA.ROUTINES
 WHERE ROUTINE_TYPE = 'PROCEDURE'

Si por alguna razón tuviera procedimientos almacenados que no son del sistema en la base de datos maestra, podría usar la consulta (esto filtrará la MAYORÍA de los procedimientos almacenados del sistema):

SELECT * 
  FROM [master].INFORMATION_SCHEMA.ROUTINES
 WHERE ROUTINE_TYPE = 'PROCEDURE' 
   AND LEFT(ROUTINE_NAME, 3) NOT IN ('sp_', 'xp_', 'ms_')