Aracılığıyla paylaş


sp_help_jobhistory (Transact-SQL)

Şunlar için geçerlidir: SQL Server

Çok sunuculu yönetim alanındaki sunucular için işler hakkında bilgi sağlar.

Transact-SQL söz dizimi kuralları

Sözdizimi

sp_help_jobhistory
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'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 = ] N'server' ]
    [ , [ @mode = ] 'mode' ]
[ ; ]

Arguments

[ @job_id = ] 'job_id'

İş kimlik numarası. @job_iduniqueidentifier'dır ve varsayılan olarak ' NULLdir.

[ @job_name = ] N'job_name'

İşin adı. @job_namesysname'dir ve varsayılan olarak .NULL

[ @step_id = ] step_id

Adım tanımlama numarası. @step_idint, varsayılan olarak .NULL

[ @sql_message_id = ] sql_message_id

SQL Server tarafından iş yürütülürken dönen hata mesajının kimlik numarası. @sql_message_idint, varsayılan olarak .NULL

[ @sql_severity = ] sql_severity

SQL Server tarafından iş yürütülürken geri dönen hata mesajının şiddet seviyesi. @sql_severityint, varsayılan olarak .NULL

[ @start_run_date = ] start_run_date

İşin başladığı tarih. @start_run_dateint, varsayılan olarak .NULL @start_run_date, dört karakterli yıl, MM iki karakterli ay adı ve dd iki karakterli gün adı olduğu şeklinde girilmelidiryyyyMMddyyyy.

[ @end_run_date = ] end_run_date

İşin tamamlandığı tarih. @end_run_dateint, varsayılan olarak .NULL @end_run_dateyyyyMMddşeklinde girilmelidir; burada yyyy dört karakterli yıl, MM iki karakterli ay adı ve dd iki karakterli gün adı.

[ @start_run_time = ] start_run_time

İşin başladığı zaman. @start_run_timeint, varsayılan olarak .NULL @start_run_timeHHmmss, iki karakterlik bir saat mm olduğu şeklinde girilmelidir; burada HH iki karakterlik bir saat (günün iki karakterli bir dakikası) ve ss günün iki karakterli saniyesi (günün iki karakterli saniyesi) olarak belirtilmelidir.

[ @end_run_time = ] end_run_time

İşin tamamlandığı zaman. @end_run_timeint, varsayılan olarak .NULL @end_run_time, iki karakterli bir saat mm olduğu ve iki karakterli bir dakika, günün iki karakterli dakikası ve ss iki karakterli saniye şeklinde girilmelidirHHmmssHH.

[ @minimum_run_duration = ] minimum_run_duration

İşin tamamlanması için minimum süre. @minimum_run_durationint, varsayılan olarak .NULL @minimum_run_duration, iki karakterlik bir saat mm olduğu ve iki karakterli bir dakika, günün iki karakterli dakikası ve ss iki karakterli saniye şeklinde girilmelidirHHmmssHH.

[ @run_status = ] run_status

İşin uygulama durumu. @run_statusint'tir ve bu değerlerden biri olabilir.

Değer Description
0 Başarısız oldu
1 Succeeded
2 Tekrar deneme (sadece adım)
3 İptal edildi
4 Devam Eden Mesaj
5 Bilinmiyor

[ @minimum_retries = ] minimum_retries

Bir işin tekrar çalışması gereken minimum sayı. @minimum_retriesint, varsayılan olarak .NULL

[ @oldest_first = ] oldest_first

En eski işlerin çıktısını önce sunup sunmamalı. @oldest_firstint, varsayılan olarak .0

  • 0 Önce en yeni işleri sunar.
  • 1 Önce en eski işleri sunar.

[ @server = ] N'sunucusu'

İşin yapıldığı sunucunun adı. @serversysname'dir ve varsayılan olarak .NULL

[ @mode = ] 'mod'

SQL Server'ın sonuç kümesindeki tüm sütunları (FULL) mı yoksa sütunların özetini (SUMMARY) mı yazdırdığını belirtir. @modevarchar(7)'dir ve varsayılan olarak ' SUMMARYdir.

Dönüş kodu değerleri

0 (başarı) veya 1 (başarısızlık).

Sonuç kümesi

Gerçek sütun listesi @mode değerine bağlıdır. En kapsamlı sütun kümesi aşağıdaki tabloda gösterilmiştir ve @mode olduğunda FULLgeri döner.

Sütun adı Veri türü Description
instance_id int Tarih girişi kimlik numarası.
job_id uniqueidentifier İş kimlik numarası.
job_name sysname İş adı.
step_id int Adım tanımlama numarası (0 iş geçmişi için).
step_name sysname Adım adı (NULL iş geçmişi için).
sql_message_id int Transact-SQL adımda, komut çalıştırılırken karşılaşılan en son Transact-SQL hata numarası.
sql_severity int Transact-SQL adımda, komut çalıştırılırken karşılaşılan en yüksek Transact-SQL hata şiddeti.
message nvarchar(1024) İş veya adım geçmişi mesajı.
run_status int İşin ya da adımın sonucu.
run_date int İşin veya adımın yürütülmeye başladığı tarih.
run_time int İşin veya adımın yürütülmeye başlama zamanı.
run_duration int İşin HHmmss veya formatın bir adımının yürütülmesinde geçen süre.
operator_emailed nvarchar(20) Bu işle ilgili e-posta ile gönderilen operatör ( NULL adım geçmişi için).
operator_netsent nvarchar(20) Bu işle ilgili ağ mesajı gönderilen operatöre (adım geçmişi için NULL ).
operator_paged nvarchar(20) Bu işle ilgili çağrılan operatör (adım geçmişi için böyle NULL ).
retries_attempted int Adım tekrar denenmiş sayısı (iş geçmişi için her zaman 0).
server nvarchar(30) Adımın veya işin yürütülmesini sunucu edin. Her zaman (local).

Açıklamalar

sp_help_jobhistory belirtilen planlanmış işlerin geçmişini içeren bir rapor döndürür. Herhangi bir parametre belirtilmediyse, rapor tüm planlanmış işlerin geçmişini içerir.

Permissions

EXECUTE Bu prosedür üzerinde izinler verebilirsiniz, ancak bu izinler SQL Server yükseltmesi sırasında geçersiz kalabilir.

Diğer kullanıcılara, veritabanındaki aşağıdaki sabit veritabanı rollerinden birine msdb sahip olmalıdır:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Bu rollerin izinleri hakkında detaylar için SQL Server Agent Fixed Database Roles bölümüne bakınız.

SQLAgentUserRole veritabanı rolünün üyeleri yalnızca sahip oldukları işlerin geçmişini görebilir.

Örnekler

A. Bir iş için tüm iş bilgilerini listele

Aşağıdaki örnek, işin NightlyBackups tüm iş bilgilerini listeler.

USE msdb;
GO

EXECUTE dbo.sp_help_jobhistory @job_name = N'NightlyBackups';
GO

B. Belirli koşullara uyan işler için bilgi listesi

Aşağıdaki örnek, başarısız işler ve başarısız iş adımları için tüm sütunları ve tüm iş bilgilerini ( 50100 kullanıcı tanımlı bir hata mesajı) ve şiddet derecesi 20ile yazdırır.

USE msdb;
GO

EXECUTE dbo.sp_help_jobhistory
    @sql_message_id = 50100,
    @sql_severity = 20,
    @run_status = 0,
    @mode = N'FULL';
GO