2010-03-01 4 views
1

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

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

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

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

ответ

3

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

После этого вы опаздываете на регистрацию и отслеживание.

+0

Спасибо за информацию. Это позор, который вы не можете просмотреть, когда последний раз был выполнен SP. : О ( –

2

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

insert into dbo.ProcLog (procname, date) values ('MyProc',getdate()) 
+1

@Andomar, я бы использовал 'OBJECT_NAME (@@ PROCID)' вместо 'MyProc', гораздо проще в обслуживании. –

1

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

INSERT INTO YourLog 
     (RunDate,ProcedureName,...) 
    VALUES 
     (GETDATE(),OBJECT_NAME(@@PROCID),...) 
Смежные вопросы