获取SQL Server用户函数的上次执行时间和名称

时间:2016-01-18 13:28:40

标签: sql-server function stored-procedures

我需要记录SQL Server用户定义的函数(Progammability / functions)和存储过程调用(函数名称/ SP和上次执行时间)。

对于存储过程,我使用扩展事件(Session - > EVENT sqlserver.sp_statement_completed)。

是否可以对功能使用相同的方法?

1 个答案:

答案 0 :(得分:1)

我现在正在使用这种方法:

INSERT INTO @Table
    SELECT DISTINCT ct.objectid as ObjectId,
    GETDATE() LastDate

FROM sys.dm_exec_cached_plans cp
OUTER APPLY sys.dm_exec_sql_text(plan_handle) AS ct
INNER JOIN Sysobjects s on s.id = ct.objectid
WHERE s.xtype in ('V', 'IF', 'FN', 'TF') --Views, Table-valued Functions, Scalar-valued functions

因此,我通过计时器调用此代码(例如每小时)。它没有显示确切的通话时间,但允许我查找非使用功能等。