我想找到我创建的存储过程,还想找到在特定日期(如 2012 年 9 月 27 日(27/09/2012))在我的 SQL Server 中修改的存储过程。
是否有任何查询会列出在该日期创建和修改的这些程序?
我想找到我创建的存储过程,还想找到在特定日期(如 2012 年 9 月 27 日(27/09/2012))在我的 SQL Server 中修改的存储过程。
是否有任何查询会列出在该日期创建和修改的这些程序?
您可以在任何给定的 SQL Server 数据库中尝试此查询:
SELECT
name,
create_date,
modify_date
FROM sys.procedures
WHERE create_date = '20120927'
其中列出了名称、创建和最后修改日期——不幸的是,它没有记录谁创建和/或修改了相关存储过程。
这是“新学校”版本。
SELECT * FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = N'PROCEDURE' and ROUTINE_SCHEMA = N'dbo'
and CREATED = '20120927'
SELECT name
FROM sys.objects
WHERE type = 'P'
AND (DATEDIFF(D,modify_date, GETDATE()) < 7
OR DATEDIFF(D,create_date, GETDATE()) < 7)
SELECT * FROM sys.objects WHERE type='p' ORDER BY modify_date DESC
SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'P'
SELECT name, crdate, refdate
FROM sysobjects
WHERE type = 'P'
ORDER BY refdate desc
对于 SQL Server 2012:
SELECT name, modify_date, create_date, type
FROM sys.procedures
WHERE name like '%XXX%'
ORDER BY modify_date desc