sp_help_jobhistory (Transact-sql)
Multiserver Yönetim etki alanındaki sunucular için işleri hakkında bilgi sağlar.
Transact-SQL Sözdizim Kuralları
Sözdizimi
sp_help_jobhistory [ [ @job_id = ] job_id ]
[ , [ @job_name = ] 'job_name' ]
[ , [ @step_id = ] step_id ]
[ , [ @sql_message_id = ] sql_message_id ]
[ , [ @sql_severity = ] sql_severity ]
[ , [ @start_run_date = ] start_run_date ]
[ , [ @end_run_date = ] end_run_date ]
[ , [ @start_run_time = ] start_run_time ]
[ , [ @end_run_time = ] end_run_time ]
[ , [ @minimum_run_duration = ] minimum_run_duration ]
[ , [ @run_status = ] run_status ]
[ , [ @minimum_retries = ] minimum_retries ]
[ , [ @oldest_first = ] oldest_first ]
[ , [ @server = ] 'server' ]
[ , [ @mode = ] 'mode' ]
Bağımsız değişkenler
**@job_id=**job_id
İş kimlik numarası. job_idise uniqueidentifier, null varsayılan.@job_name='job_name'
Iş adı. job_nameise sysname, null varsayılan.**@step_id=**step_id
Adım kimlik numarası. step_idise int, null varsayılan.**@sql_message_id=**sql_message_id
İşi yürütürken Microsoft SQL Server tarafından döndürülen hata iletisi kimlik numarası. sql_message_idise int, null varsayılan.**@sql_severity=**sql_severity
İşi yürütürken, SQL Server tarafından döndürülen hata iletisi önem düzeyi. sql_severityise int, null varsayılan.**@start_run_date=*start_run_date
İş başlatıldığı tarih. start_run_date *ise int, null varsayılan. start_run_dateolmak forma girilen yyyy dört basamaklı yıl olduğu, yyyyaagg, mm iki harflik ay ismi ve dd iki karakterlik gün adı olmalıdır.**@end_run_date=**end_run_date
İşin tamamlandığı tarih. end_run_dateise int, null varsayılan. end_run_dateolmak forma girilen yyyy dört basamaklı bir yıl olduğu, yyyyaagg, mm iki harflik ay ismi ve dd iki karakterlik gün adı olmalıdır.**@start_run_time=**start_run_time
İş başlatıldığı saat. start_run_timeise int, null varsayılan. start_run_timeolmak forma girilen SSDDSS hh iki karakterlik Saat gün olduğu, mm iki karakterlik dakika günün ve ss iki karakterlik ikinci gün olmalıdır.**@end_run_time=**end_run_time
Zaman iş yürütme tamamlandı. end_run_timeise int, null varsayılan. end_run_timeolmak forma girilen SSDDSS hh iki karakterlik Saat gün olduğu, mm iki karakterlik dakika günün ve ss iki karakterlik ikinci gün olmalıdır.**@ minimum_run_duration=**minimum_run_duration
Zaman işin tamamlanması için minimum uzunluğu. minimum_run_durationise int, null varsayılan. minimum_run_durationolmak forma girilen SSDDSS hh iki karakterlik Saat gün olduğu, mm iki karakterlik dakika günün ve ss iki karakterlik ikinci gün olmalıdır.**@run_status=**run_status
Iş yürütme durumu. run_statusise int, null varsayılan ile ve bu değerlerden birini olabilir.Değer
Açıklama
0
Başarısız oldu
1
Başarılı
2
Deneme (yalnızca adım)
3
İptal edildi
4
Devam eden ileti
5
Bilinmiyor
**@minimum_retries=**minimum_retries
Bir işi asgari sayısı çalışan denemeli. minimum_retriesise int, null varsayılan.**@oldest_first=**oldest_first
Olup çıktı eski işlerle sunmak olduğunu. oldest_firstise int, varsayılan 0, hangi yeni işleri ilk sunar. 1 en eski işleri ilk sunar.@server='server'
Hangi işin gerçekleştirildiği sunucu adı. serverise nvarchar(30), null varsayılan.@mode='mode'
İster sonuç kümesindeki tüm sütunları SQL Server baskılar olduğunu (tam) veya Özet sütunları. modeise varchar(7), varsayılan özeti.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (hata)
Sonuç Kümeleri
Gerçek sütun listesi değerine bağlı mode. En kapsamlı sütunları kümesi aşağıda gösterilmiştir ve ne zaman döner modetam.
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
instance_id |
int |
Geçmiş girdisi kimlik numarası. |
iş_no |
uniqueidentifier |
İş tanımlama numarası. |
job_name |
sysname |
İş adı. |
step_id |
int |
Adım numarası (will be 0 bir iş geçmişi için). |
step_name |
sysname |
Adım adı (bir iş geçmişi için null olacaktır). |
sql_message_id |
int |
İçin bir Transact-SQLadım, en son Transact-SQLhata numarasını komutu çalıştırırken karşılaştı. |
sql_severity |
int |
İçin bir Transact-SQLadım, en yüksek Transact-SQLHata önem komutu çalıştırırken karşılaştı. |
ileti |
nvarchar(1024) |
Iş veya adım geçmiş ileti. |
run_status |
int |
Iş veya adım sonucunu. |
run_date |
int |
Iş Tarih veya adımı yürütme başladı. |
run_time |
int |
İşin süresi veya adımı yürütme başladı. |
run_duration |
int |
Iş veya adım yürütülmesini geçen zaman ssddss biçimi. |
operator_emailed |
nvarchar(20) |
Bu iş ile ilgili e-postayla gönderilen işleci (adım geçmiş null olur). |
operator_netsent |
nvarchar(20) |
Bu iş ile ilgili bir ağ iletisi gönderilen işleci (adım geçmiş null olur). |
operator_paged |
nvarchar(20) |
Bu iş ile ilgili belleğine işleci (adım geçmiş null olur). |
retries_attempted |
int |
Adım denenen sayısı (her zaman bir iş geçmişi 0). |
Sunucu |
nvarchar(30) |
Sunucu adım ya da iş üzerinde yürütür. Her zaman (Yerel). |
Açıklamalar
sp_help_jobhistory ile belirtilen zamanlanmış işleri tarihinin bir rapor verir. Hiçbir parametre belirtilmezse, rapor geçmişini tüm zamanlanmış işleri içerir.
İzinler
Varsayılan olarak, üye sysadmin sabit sunucu rolü bu saklı yordam yürütebilirsiniz. Diğer kullanıcıların aşağıdakilerden birini verilmesi gereken SQL ServerAgent veritabanı rolleri sabit msdb veritabanı:
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
Bu rolleri izinleri hakkında daha fazla bilgi için bkz: SQL Server Agent veritabanı rolleri sabit.
Üyeleri SQLAgentUserRole veritabanı rolü yalnızca sahip oldukları işleri geçmişini görüntüleyebilirsiniz.
Örnekler
A.Bir iş için tüm iş bilgilerini listeleme
Aşağıdaki örnek, tüm proje bilgilerini listeler NightlyBackupsiş.
USE msdb ;
GO
EXEC dbo.sp_help_jobhistory
@job_name = N'NightlyBackups' ;
GO
USE msdb ;
GO
EXEC dbo.sp_help_jobhistory
@job_name = N'NightlyBackups' ;
GO
B.Belirli koşullara uyan İşler Listeleme
Aşağıdaki örnek tüm sütunları yazdırır ve tüm iş bilgileri herhangi başarısız işleri ve iş adımları bir hata iletisiyle başarısız 50100(bir kullanıcı tanımlı hata iletisi) ve bir önem 20.
USE msdb
GO
EXEC dbo.sp_help_jobhistory
@sql_message_id = 50100,
@sql_severity = 20,
@run_status = 0,
@mode = N'FULL' ;
GO
USE msdb
GO
EXEC dbo.sp_help_jobhistory
@sql_message_id = 50100,
@sql_severity = 20,
@run_status = 0,
@mode = N'FULL' ;
GO