Obtenir la dernière heure d'exécution et le nom des fonctions des users SQL Server

Je dois save les fonctions définies par l'user SQL Server (Progammability / functions) et les appels de procédure stockée (nom de la fonction / SP et heure de la dernière exécution).

Pour les procédures stockées, j'utilise des events étendus (Session -> EVENT sqlserver.sp_statement_completed).

Est-il possible d'utiliser la même approche pour les fonctions?

J'utilise cette méthode maintenant:

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 

Donc, j'appelle ce code par timer (par exemple toutes les heures). Il ne montre pas le time d'appel exact mais me permet de find des fonctions non utilisables, etc.