Aracılığıyla paylaş


sp_purge_jobhistory (Transact-SQL)

Bir iş geçmiş kayıtlarını kaldırır.

Topic link iconTransact-SQL sözdizimi kuralları

sp_purge_jobhistory 
   {   [ @job_name = ] 'job_name' | 
     | [ @job_id = ] job_id }
   [ , [ @oldest_date = ] oldest_date ]

Bağımsız değişkenler

  • [ @job_name= ] 'job_name'
    The name of the job for which to delete the history records.job_nameis sysname, with a default of NULL.Her iki job_id veya job_name belirtilmiş olması gerekir, ancak her ikisi de belirtilemiyor.

    Not

    Üyeleri sysadmin sabit sunucu rolü veya üye SQLAgentOperatorRole sabit veritabanı rolü çalıştırabilirsinizsp_purge_jobhistory belirtmedenjob_name veya job_id. Ne saat sysadmin kullanıcılar bu bağımsız değişkenleri belirtin iş geçmiş için tüm yerel ve çoklu sunucu iş s tarafından belirtilen sürede siliniroldest_date. Ne saat SQLAgentOperatorRole kullanıcılar bu bağımsız değişkenleri belirtin iş geçmiş için tüm yerel iş s tarafından belirtilen sürede siliniroldest_date.

  • [ @job_id= ] job_id
    The job identification number of the job for the records to be deleted.job_idis uniqueidentifier, with a default of NULL.Her iki job_id veya job_name belirtilmiş olması gerekir, ancak her ikisi de belirtilemiyor. Notun içinde açıklaması için bkz: @ job_name hakkında bilgi için sysadmin or SQLAgentOperatorRole kullanıcılar, bu bağımsız değişkeni olarak kullanabilirsiniz.

  • [ @ oldest_date = ] oldest_date
    The oldest record to retain in the history.oldest_date is datetime, with a default of NULL.Ne zaman oldest_date , belirtilen sp_purge_jobhistory yalnızca belirtilen değerden daha eski kayıtlar kaldırır.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Sonuç Kümeleri

None

Remarks

Ne zaman sp_purge_jobhistory başarıyla tamamlandığında, bir ileti döndürdü.

İzinler

Varsayılan olarak, yalnızca üyeleri sysadmin sabit sunucu rolü veya SQLAgentOperatorRole sabit veritabanı rolü için yürütmek bu saklı yordamını.Üyeleri sysadmin iş temizleyebilirsiniz geçmiş tüm yerel ve çoklu sunucu işleri.Üyeleri SQLAgentOperatorRole iş temizleyebilirsiniz geçmiş yalnızca tüm yerel işleri.

Üyeleri de dahil olmak üzere, diğer kullanıcılar SQLAgentUserRole ve üyeleriSQLAgentReaderRole üzerinde yürütmek izni açıklıkla verilmesi gerekirsp_purge_jobhistory.Bu kullanıcılar, yürütmek Bu saklı yordam üzerinde izni sonra yalnızca sahip oldukları işleri geçmişini silebilir.

The SQLAgentUserRole, SQLAgentReaderRole, and SQLAgentOperatorRole fixed database roles are in the msdb database.Bunların izinleri hakkında daha fazla bilgi için bkz: SQL Server Agent Database Roles sabit.

Örnekler

C.Belirli bir iş geçmiş'ni kaldırma

Aşağıdaki örnek, adlı bir iş geçmiş kaldırır. NightlyBackups.

USE msdb ;
GO

EXEC dbo.sp_purge_jobhistory
    @job_name = N'NightlyBackups' ;
GO

b.Tüm işleri geçmiş kaldırma

Not

Yalnızca üyeleri sysadmin sabit sunucu rolü ve üyeleri SQLAgentOperatorRole geçmiş tüm işleri kaldırabilirsiniz.Ne zaman sysadmin kullanıcılar bu saklı yordam parametreleri olmayan yürütmek, tüm yerel ve çoklu sunucu işleri için çalışma geçmiş temizlenir.Ne zaman SQLAgentOperatorRole kullanıcılar bu saklı yordam parametreleri olmayan yürütmek, tüm yerel işleri yalnızca iş geçmiş temizlenir.

Aşağıdaki örnek, tüm geçmiş kayıtlarını kaldırmak için parametresiz yordamını çalıştırır.

USE msdb ;
GO

EXEC dbo.sp_purge_jobhistory ;
GO