Как получить список недавно добавленных сохраненных процедур из базы данных SQL Server - PullRequest
7 голосов
/ 24 августа 2011

Возможно ли получить список сохраненных процедур из базы данных SQL Server, где дата создания / последнего обновления> вчера?

sys.sql_modules, похоже, не имеет даты.Оно должно храниться где-то еще.

Ответы [ 5 ]

6 голосов
/ 24 августа 2011

sys.procedures содержит create_date и modify_date

6 голосов
/ 24 августа 2011

В этом списке перечислены все хранимые процедуры, а также даты их создания и изменения:

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 в качестве другого упомянутого ответа.

5 голосов
/ 24 августа 2011

Information_Schema имеет несколько представлений для просмотра различных объектов.Routines является одним из них

select *
from INFORMATION_SCHEMA.ROUTINES
Where CREATED > DATEADD(dd, DATEDIFF(dd, 0, getdate()-1), 0)
Order by CREATED Desc

Последние два столбца предназначены для Created и Last_Modified.

4 голосов
/ 24 августа 2011

Используйте 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;
2 голосов
/ 24 августа 2011

Попробуйте это:

SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'P'
AND modify_date >= DATEADD(day, -1, getdate())
ORDER BY modify_date desc
...