Comment vérifier la date du dernier changement dans la procédure stockée ou la fonction dans le serveur SQL

Je dois vérifier quand la fonction a été modifiée la dernière fois. Je sais comment vérifier la date de création (elle se trouve dans la fenêtre des propriétés de la fonction dans SQL Server Management Studio).
J’ai constaté que dans SQL Server 2000, il n’était pas possible de vérifier la date de modification (consultez cette publication: est-il possible de déterminer quand une procédure stockée a été modifiée pour la dernière fois dans SQL Server 2000? )

Est-il possible de le vérifier dans SQL Server 2008? MS ajoute-t-il une nouvelle fonctionnalité dans les tables système permettant de le vérifier?

    SELECT name, create_date, modify_date FROM sys.objects WHERE type = 'P' ORDER BY modify_date DESC 

    Le type pour une fonction est FN plutôt que P pour la procédure. Ou vous pouvez filtrer sur la colonne du nom.

    As-tu essayé:

     SELECT name, create_date, modify_date FROM sys.objects WHERE type = 'P' AND name = 'myProc' 

    Ceci est la solution correcte.

     SELECT name, create_date, modify_date FROM sys.objects WHERE type = 'fn' AND name = 'fn_NAME' 

    Pour SQL 2000, j’utiliserais:

     SELECT name, crdate, refdate FROM sysobjects WHERE type = 'P' ORDER BY refdate desc 

    J’ai trouvé cette liste comme la nouvelle technique

    Ceci est très détaillé

     SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = N'PROCEDURE' and ROUTINE_SCHEMA = N'dbo' order by LAST_ALTERED desc SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = N'PROCEDURE' and ROUTINE_SCHEMA = N'dbo' order by CREATED desc SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = N'FUNCTION' and ROUTINE_SCHEMA = N'dbo' order by LAST_ALTERED desc SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = N'FUNCTION' and ROUTINE_SCHEMA = N'dbo' order by CREATED desc 

    Dans la dernière version (2012 ou plus), nous pouvons obtenir des détails de la procédure stockée modifiée en utilisant cette requête

     SELECT create_date, modify_date, name FROM sys.procedures ORDER BY modify_date DESC 
     SELECT * FROM sys.objects WHERE type IN ('FN', 'IF', 'TF') AND name = 'dgdsgds'