Хранимые процедуры в последний раз? - PullRequest
1 голос
/ 01 марта 2010

Можно ли узнать, когда к хранимой процедуре обращались в последний раз?

Я попробовал следующее:

SELECT * 
FROM sys.dm_db_index_usage_stats 
WHERE [database_id] = DB_ID()  
    AND [object_id] = OBJECT_ID('stored procedure name')

и возвращает пустой набор результатов.

Ответы [ 3 ]

3 голосов
/ 01 марта 2010

Я считаю, что это возможно, если sproc все еще находится в кэше процедур на сервере, и в этот момент вы можете запросить sys.dm_exec_query_stats.

После этого вы боитесь регистрироваться и отслеживать, я боюсь.

2 голосов
/ 01 марта 2010

Добавить запись журнала в качестве первой строки хранимых процедур:

insert into dbo.ProcLog (procname, date) values ('MyProc',getdate())
1 голос
/ 01 марта 2010

Вот общая строка кода, которую вы можете поместить в каждую процедуру, она будет включать в себя правильное имя процедуры без жесткого кодирования.

INSERT INTO YourLog 
        (RunDate,ProcedureName,...) 
    VALUES 
        (GETDATE(),OBJECT_NAME(@@PROCID),...)
...