Sen sorguyu çalıştırabilirsiniz:
EXEC msdb.dbo.sp_help_jobhistory
@job_name = N'MonthlyData'
Bir sütun run_status dönersiniz. Durumlar şunlardır:
0 - Failed
1 - Succeeded
2 - Retry
3 - Canceled
diğer bilgiler DÜZENLEME
MSDN tarih: İşini anket ve idam emin olmak için isteyebilirsiniz. Bu bilgiyi sp_help_job prosedüründen alabilirsiniz. Bu yordam 4
durumunu döndürdüğünde, bu iş boşta demektir. O zaman bunun durumunu çalıştırıldığı kontrol etmek için güvenlidir.
Aşağıdaki kodu kullanarak yoklamak:
DECLARE @job_status INT
SELECT @job_status = current_execution_status FROM OPENROWSET('SQLNCLI', 'Server=.;Trusted_Connection=yes;','exec msdb.dbo.sp_help_job @job_name = ''NightlyBackups''')
WHILE @job_status <> 4
BEGIN
WAITFOR DELAY '00:00:03'
SELECT @job_status = current_execution_status FROM OPENROWSET('SQLNCLI', 'Server=.;Trusted_Connection=yes;','exec msdb.dbo.sp_help_job @job_name = ''NightlyBackups''')
END
EXEC msdb.dbo.sp_help_jobhistory
@job_name = N'NightlyBackups' ;
GO
Bu kod 3 saniye bekleyin ve tekrar deneyin, durumu kontrol edecektir. 4 durumu aldığımızda, işin bittiğini ve iş geçmişini kontrol etmenin güvenli olduğunu biliyoruz. openrowset komutunu kullanmak izin verilmez tüm çocuklar için
Söz konusu iş "son durum" a ulaşıncaya kadar temel olarak yoklamaya gerek olduğunu belirtmek isteyebilirsiniz. –
Ben de o zaman iş daha sonra bitmiş jobhistory exec kadar yoklamak gerekir görevlerine başladığında? – DtotheG
@ChristianK Bize İş Agent için yoklama hakkında daha fazla şey söyleyebilir misiniz? – testing