Mar*_*acz 167 stored-procedures sql-function sql-server-2008 sql-server-2008-r2
我需要检查上次功能何时更改.我知道如何检查创建日期(它位于SQL Server Management Studio的函数属性窗口中).
我发现在SQL Server 2000中无法检查修改日期(请看这篇文章:是否可以确定SQL Server 2000中最后一次修改存储过程的时间?)
是否可以在SQL Server 2008中进行检查?MS是否在系统表中添加了一些允许检查它的新功能?
Chr*_*ver 355
SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'P'
ORDER BY modify_date DESC
Run Code Online (Sandbox Code Playgroud)
在type
一个函数FN
,而不是P
为程序.或者您可以在名称列上进行过滤.
ope*_*hac 40
试试这个存储过程:
SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'P'
AND name = 'myProc'
Run Code Online (Sandbox Code Playgroud)
小智 13
这是找到函数的正确解决方案:
SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'fn'
AND name = 'fn_NAME'
Run Code Online (Sandbox Code Playgroud)
我发现这被列为新技术
这非常详细
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
Run Code Online (Sandbox Code Playgroud)
小智 5
对于 SQL 2000,我会使用:
SELECT name, crdate, refdate
FROM sysobjects
WHERE type = 'P'
ORDER BY refdate desc
Run Code Online (Sandbox Code Playgroud)
在最新版本(2012 或更高版本)中,我们可以使用此查询获取修改后的存储过程详细信息
SELECT create_date, modify_date, name FROM sys.procedures
ORDER BY modify_date DESC
Run Code Online (Sandbox Code Playgroud)