211

我需要检查上次更改功能的时间。我知道如何检查创建日期(它位于 SQL Server Management Studio 的函数属性窗口中)。
我发现在 SQL Server 2000 中无法检查修改日期(请看这篇文章:Is it possible to determine when a stored procedure was last modified in SQL Server 2000?

是否可以在 SQL Server 2008 中检查它?MS 是否在允许检查的系统表中添加了一些新功能?

4

8 回答 8

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

typefor 一个函数而FN不是Pfor 过程。或者您可以过滤名称列。

于 2011-04-07T10:00:17.723 回答
46

试试这个存储过程:

SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'P'
AND name = 'myProc'
于 2011-04-07T10:01:07.490 回答
15

这是查找函数的正确解决方案:

SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'fn'
AND name = 'fn_NAME'
于 2012-09-04T06:27:01.553 回答
11

我发现这被列为新技术

这个很详细

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 
于 2016-10-20T06:25:42.497 回答
5

对于 SQL 2000,我会使用:

SELECT name, crdate, refdate 
FROM sysobjects
WHERE type = 'P' 
ORDER BY refdate desc
于 2013-08-19T09:20:56.743 回答
5

在最新版本(2012 或更高版本)中,我们可以使用此查询获取修改后的存储过程详细信息

SELECT create_date, modify_date, name FROM sys.procedures 
ORDER BY modify_date DESC
于 2016-09-26T19:11:16.803 回答
1
SELECT *
FROM sys.objects
WHERE type IN ('FN', 'IF', 'TF') 
AND name = 'dgdsgds'
于 2017-05-01T15:35:45.023 回答
1

您可以使用它来检查修改日期functionsstored procedures一起按日期排序:

SELECT 'Stored procedure' as [Type] ,name, create_date, modify_date 
FROM sys.objects
WHERE type = 'P' 

UNION all

Select 'Function' as [Type],name, create_date, modify_date
FROM sys.objects
WHERE type = 'FN'
ORDER BY modify_date DESC

或者 :

SELECT type ,name, create_date, modify_date 
FROM sys.objects
WHERE type in('P','FN') 
ORDER BY modify_date DESC
-- this one shows type like : FN for function and P for stored procedure

结果将是这样的:

Type                 |  name      | create_date              |  modify_date
'Stored procedure'   | 'firstSp'  | 2018-08-04 07:36:40.890  |  2019-09-05 05:18:53.157
'Stored procedure'   | 'secondSp' | 2017-10-15 19:39:27.950  |  2019-09-05 05:15:14.963
'Function'           | 'firstFn'  | 2019-09-05 05:08:53.707  |  2019-09-05 05:08:53.707
于 2019-10-14T06:25:39.567 回答