Requête pour lister toutes les procédures stockées

Quelle requête peut retourner les noms de toutes les procédures stockées dans une base de données SQL Server ?

Si la requête pouvait exclure les procédures stockées du système, ce serait encore plus utile.

SELECT name, 
       type
  FROM dbo.sysobjects
 WHERE (type = 'P')
Commentaires (3)

D'après ce que j'ai compris, la méthode "préférée" consiste à utiliser les tables d'information_schema :

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