sync
This commit is contained in:
26
EXPLOIT - find last snapshot in error.sql
Normal file
26
EXPLOIT - find last snapshot in error.sql
Normal file
@@ -0,0 +1,26 @@
|
||||
DECLARE @snapshot_in_error BIT = 0;
|
||||
declare @today datetime = DATEADD(DAY,0,DATEDIFF(DAY,0,CURRENT_TIMESTAMP))
|
||||
|
||||
SELECT h.*
|
||||
FROM msdb.dbo.sysjobs j
|
||||
JOIN msdb.dbo.sysjobhistory h ON h.job_id = j.job_id
|
||||
WHERE j.name ='D00480 - ActivePos_read Snapshot'
|
||||
AND msdb.dbo.agent_datetime(h.run_date, h.run_time) > @today
|
||||
AND h.run_status = 0 --there was an error
|
||||
AND NOT EXISTS(
|
||||
--there is not record not in error after the one found above
|
||||
SELECT 1
|
||||
FROM msdb.dbo.sysjobhistory h2
|
||||
WHERE h2.job_id = h.job_id
|
||||
AND msdb.dbo.agent_datetime(h2.run_date, h2.run_time) > msdb.dbo.agent_datetime(h.run_date, h.run_time)
|
||||
AND h2.run_status <> 0
|
||||
and h2.step_id = 0
|
||||
)
|
||||
ORDER BY h.run_time DESC ;
|
||||
|
||||
SELECT @snapshot_in_error = @@ROWCOUNT;
|
||||
|
||||
if @snapshot_in_error = 1
|
||||
begin
|
||||
exec msdb.dbo.sp_start_job @job_name='D00480 - ActivePos_read Snapshot'
|
||||
end
|
||||
Reference in New Issue
Block a user