Can't see some stored procedures in sys.procedures Documenting a database and find that I cannot see stored procedures in sys.procedures, even though I can see them in Object Explorer.

select p.name, x.value, p.modify_date
from sys.procedures p
left join sys.extended_properties x
on p.object_id = x.major_id
where p.is_ms_shipped = 0
and p.name NOT LIKE 'sp_%'
To ensure you can see the objects you are looking for:


Make sure you are in the right database / right instance - seems simple and silly but it happens all the time. This also includes not using things like AttachDbFileName in your connection string - this means that two different programs will actually have two separate copies of your database, so if one adds a procedure, the other will never see it.
Don't add unnecessary filters that don't accomplish anything (sys.procedures already filters out system objects, and if you use the sp_ prefix for your own procedures - which you shouldn't - you probably don't want that filter to leave those objects out, either).
Validate that you have VIEW DEFINITION access to all of the potential schemas where these objects may live. These are going to be protected in the metadata / catalog views but may still be exposed to you in certain scenarios under Object Explorer (especially if your Object Explorer connection is running under a different context than your query window(s)).


Also note that these are potential answers for future readers too, not just for the current OP (who we now know had an issue with the last bullet).