Consulta para listar todos os procedimentos armazenados

Que consulta pode retornar os nomes de todos os procedimentos armazenados em um banco de dados SQL Server

Se a consulta pudesse excluir os procedimentos armazenados no sistema, isso seria ainda mais útil.

SELECT name, 
       type
  FROM dbo.sysobjects
 WHERE (type = 'P')
Comentários (3)

A partir do meu entendimento do "preferido" o método é usar as tabelas information_schema:

select * 
  from information_schema.routines 
 where routine_type = 'PROCEDURE'
Comentários (1)
select *  
  from dbo.sysobjects
 where xtype = 'P'
   and status > 0
Comentários (3)