Get SQL Server stored procedure statistics, including name, schema, last execution time, create and modify date, and execution count since last reboot.
-- -- Get Stored Procedure Statistics (1) -- -- Name, Schema, Last Execution Time, Modify Date, Create Date and Execution -- count since reboot. select db_name(proc_stats.database_id) as dbname, sc.name as [schema], obj.name, proc_stats.last_execution_time, obj.modify_date, obj.create_date, proc_stats.execution_count from sys.dm_exec_procedure_stats as proc_stats inner join sys.objects as obj on obj.object_id = proc_stats.object_id inner join sys.schemas as sc on obj.schema_id = sc.schema_id where obj.type = 'P' order by dbname, sc.name, obj.name; -- -- Get Stored Procedure Statistics (2) -- -- You can look in the plan cache to get a pretty good idea of Stored Procedure -- usage. Take this query, for instance: select db_name(st.dbid) as database_name, object_name(st.objectid) as name, p.usecounts, p.size_in_bytes / 1024 as size_in_kb, st.text, p.objtype from sys.dm_exec_cached_plans as p cross apply sys.dm_exec_sql_text(p.plan_handle) as st where p.objtype = 'Proc' and st.dbid = db_id('DATABASE_NAME_HERE') order by p.usecounts desc; -- This will give you the "usecounts" of the stored procedures that are cached -- pertaining to SomeDB. -- -- Note: the plan cache contains the execution plans. This retention of these -- plans has many factors involved. Whereas this will give you a good idea of -- what is being used and how often, it's definitely not the running total of -- stored procedures and how often/when they were executed. -- -- http://dba.stackexchange.com/questions/16493/tracking-stored-procedure-usage