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é changée la dernière fois. Je sais comment vérifier la date de création (elle se trouve dans la fenêtre de propriétés de fonction de SQL Server Management Studio).

J'ai trouvé que dans SQL Server 2000 il n'était pas possible de vérifier modifier la date ( regardez ce post: 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? MME ajouter une nouvelle fonctionnalité dans les tables système qui permet de le vérifier?

124
demandé sur Community 2011-04-07 13:56:33

7 réponses

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 des noms.

274
répondu Chris Diver 2018-08-29 13:02:51

avez-vous essayé:

SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'P'
AND name = 'myProc'
31
répondu openshac 2011-04-07 10:01:07

C'est la bonne solution.

SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'fn'
AND name = 'fn_NAME'
8
répondu zuhaib hyder 2012-09-04 08:05:30

j'ai trouvé cette liste comme la nouvelle technique

C'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 
4
répondu Arun Prasad E S 2018-04-07 01:32:26

pour SQL 2000 j'utiliserais:

SELECT name, crdate, refdate 
FROM sysobjects
WHERE type = 'P' 
ORDER BY refdate desc
3
répondu Simon 2013-08-19 09:39:46

dans la dernière version (2012 ou plus), nous pouvons obtenir des détails modifiés sur les procédures stockées en utilisant cette requête

SELECT create_date, modify_date, name FROM sys.procedures 
ORDER BY modify_date DESC
1
répondu LTA 2016-09-26 19:11:16
SELECT *
FROM sys.objects
WHERE type IN ('FN', 'IF', 'TF') 
AND name = 'dgdsgds'
0
répondu Kris K 2017-05-01 15:54:41