是否可以从创建/上次更新日期>昨天的SQL Server数据库中获取存储过程的列表?如何从SQL Server数据库中获取最近添加的存储过程的列表
sys.sql_modules
似乎没有日期。它必须存储在其他地方。
是否可以从创建/上次更新日期>昨天的SQL Server数据库中获取存储过程的列表?如何从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;
编辑:由于modify_date
将始终等于或create_date
后......另请注意,你可以只作为提到的另一个答案使用sys.procedures
。
试试这个:
SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'P'
AND modify_date >= DATEADD(day, -1, getdate())
ORDER BY modify_date desc
由于OP提到了“昨天”,所以包含整天可能是一个更好的主意。 –
Information_Schema
有一些意见,以协助审查各种对象。 Routines
是他们
select *
from INFORMATION_SCHEMA.ROUTINES
Where CREATED > DATEADD(dd, DATEDIFF(dd, 0, getdate()-1), 0)
Order by CREATED Desc
之一的最后两列用于创建和LAST_MODIFIED。
sys.procedures
包含create_date
和modify_date
使用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;
由于OP是指“昨天”,它可能是一个更好的主意剥夺一天的部分时间。 –