Можно ли узнать, когда к хранимой процедуре обращались в последний раз?
Я попробовал следующее:
SELECT * FROM sys.dm_db_index_usage_stats WHERE [database_id] = DB_ID() AND [object_id] = OBJECT_ID('stored procedure name')
и возвращает пустой набор результатов.
Я считаю, что это возможно, если sproc все еще находится в кэше процедур на сервере, и в этот момент вы можете запросить sys.dm_exec_query_stats.
После этого вы боитесь регистрироваться и отслеживать, я боюсь.
Добавить запись журнала в качестве первой строки хранимых процедур:
insert into dbo.ProcLog (procname, date) values ('MyProc',getdate())
Вот общая строка кода, которую вы можете поместить в каждую процедуру, она будет включать в себя правильное имя процедуры без жесткого кодирования.
INSERT INTO YourLog (RunDate,ProcedureName,...) VALUES (GETDATE(),OBJECT_NAME(@@PROCID),...)