2011-08-24 11 views

Respuesta

6

Esto mostrará una lista de todos los procedimientos almacenados junto con su creación y fechas de modificación:

SELECT name, modify_date 
FROM sys.objects 
WHERE type = 'P' 
    AND modify_date >= DATEADD(Day, -1, CONVERT(Date, GETDATE())) 
ORDER BY modify_date DESC; 

EDIT: Desde modify_date siempre será igual o después create_date ... También tenga en cuenta que sólo podía use sys.procedures como otra respuesta mencionada.

+1

Desde el OP se refiere a "Yesterday", es probablemente una mejor idea para despojar a la parte de hora del día. –

2

Prueba esto:

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

Dado que el OP se refiere a "Ayer", probablemente sea una mejor idea incluir todo el día. –

5

Information_Schema tiene varios puntos de vista para ayudar a revisar varios objetos. Routines es uno de ellos

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

Las dos últimas columnas se creó y para last_modified.

4

Uso sys.procedures. Más directo que sys.objects (no es necesario filtrar por tipo) y - aunque menos portátil que INFORMATION_SCHEMA - las vistas de catálogo sys. continúan siendo mantenidas y ampliadas con información sobre nuevas características, mientras que INFORMATION_SCHEMA no lo es.

Por ejemplo, para encontrar todos los procedimientos almacenados creados o modificados desde ayer a la medianoche:

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; 
Cuestiones relacionadas