Ale*_*x J 7 sql sql-server stored-procedures sql-server-2008
是否有可能从SQL Server数据库获取存储过程的列表,其中创建/上次更新日期>昨天?
sys.sql_modules
似乎没有约会.它必须存储在其他地方.
这将列出所有存储过程及其创建和修改日期:
SELECT name, modify_date
FROM sys.objects
WHERE type = 'P'
AND modify_date >= DATEADD(Day, -1, CONVERT(Date, GETDATE()))
ORDER BY modify_date DESC;
Run Code Online (Sandbox Code Playgroud)
编辑:因为modify_date
总是等于或等于create_date
...还要注意你可以使用sys.procedures
另一个提到的答案.
Information_Schema
有几个视图来帮助审查各种对象.Routines
是其中之一
select *
from INFORMATION_SCHEMA.ROUTINES
Where CREATED > DATEADD(dd, DATEDIFF(dd, 0, getdate()-1), 0)
Order by CREATED Desc
Run Code Online (Sandbox Code Playgroud)
最后两列用于Created和Last_Modified.
使用sys.procedures
。sys.objects
比(您不需要对类型进行过滤)更直接,并且 - 虽然比可移植性差INFORMATION_SCHEMA
-sys.
目录视图继续使用新功能的信息进行维护和扩展,而INFORMATION_SCHEMA
不是。
例如,要查找自昨天午夜以来创建或修改的所有存储过程:
DECLARE @yesterday DATE = DATEADD(DAY, -1, CURRENT_TIMESTAMP);
SELECT OBJECT_SCHEMA_NAME([object_id]), name, create_date, modify_date
FROM sys.procedures
WHERE modify_date >= @yesterday
ORDER BY modify_date DESC;
Run Code Online (Sandbox Code Playgroud)