Get Unused Stored Procedures from Sql Server 2008

While working in projects, I always used to wonder about maintaining Stored Procedures in Sql Server. The way in which we organize them is that we go on adding the required stored procedures with some name convention so that we can identify what is the module to which this SP refers. But as the project goes ahead modifications come, we go on adding required Stored Procedures and some Stored Procedures become obsolete because of business rule changes. But as far as I have observed in IT projects, these stored procedures are kept as it is and when the project completes no one has any idea about which Stored Procedures are currently in use and which are obsolete.

But I have come across this post, which shows how to get probably unused SPs from Sql Server 2008. The query is as follows, which returns SPs which are not in procedure cache.

//The first part gives list of all SPs and also works in SQL2005

Select p.name From sys.procedures as p where p.is_ms_shipped =0

except //The second part works only in SQL 2008

select p.name from sys.procedures as p inner join sys.dm_exec_procedure_stats as q on p.object_id = q.object_id and is_ms_shipped=0

This combine SP gives you probably unused SPs from Database.

Happy Coding !

Popular posts from this blog

Weekend Gateway Trip - Shrivardhan

Cross Apply Incorrect syntax near '.'

Apply CSS Class based on Browser