Aracılığıyla paylaş


sp_purge_jobhistory (Transact-SQL)

iş geçmiş kayıtları siler.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

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'
    iş geçmiş kayıtları silmek için adı.job_nameİş sysname, varsayılan değer null.Ya da job_id veya job_name belirtilmesi gerekir, ancak her ikisi de belirtilemez.

    Not

    Üyeleri sysadmin sabit sunucu rolü veya üyeleri SQLAgentOperatorRole sabit veritabanı rolü için yürütmek sp_purge_jobhistory belirtmeden bir job_name veya job_id.Zaman sysadmin tarafından belirtilen saat içinde tüm yerel ve çoklu sunucu işleri işgeçmiş silinir, kullanıcıların bu bağımsız değişkenler belirtmeniz değil oldest_date. Zaman SQLAgentOperatorRole tarafından belirtilen saat içinde tüm yerel işleri işgeçmiş silinir, kullanıcıların bu bağımsız değişkenler belirtmeniz değil oldest_date.

  • [ @job_id= ] job_id
    Silinecek kayıtları iş iş tanımlama numarası.job_idİş uniqueidentifier, varsayılan değer null.Ya da job_id veya job_name belirtilmesi gerekir, ancak her ikisi de belirtilemez.Not açıklamasını görmek @ job_name hakkında bilgi sysadmin veya SQLAgentOperatorRole kullanıcılar, bu bağımsız değişkeni kullanabilirsiniz.

  • [ @ oldest_date =] oldest_date
    geçmişkorumak için eski kaydı.oldest_dateİş datetime, varsayılan değer null.Zaman oldest_date belirlendiğinde, sp_purge_jobhistory yalnızca belirtilen değerden daha eski olan kayıtları siler.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (başarısız)

Sonuç Kümeleri

Hiçbiri

Açıklamalar

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 bu saklı yordamsabit veritabanı rolü can yürütmek . Üyeleri sysadmin tüm yerel ve çoklu sunucu işleri iş geçmiş temizleyebilirsiniz.Üyeleri SQLAgentOperatorRole tüm yerel işleri yalnızca iş geçmiş temizleyebilirsiniz.

Üyeleri de dahil olmak üzere, diğer kullanıcıların SQLAgentUserRole ve üyeleri SQLAgentReaderRole, üzerinde execute izni açıkça verilmelidir sp_purge_jobhistory.Bu kullanıcılar, bu saklı yordamüzerinde execute izni verilen sonra yalnızca sahip oldukları işleri geçmiş temizleyebilirsiniz.

SQLAgentUserRole, SQLAgentReaderRole, ve SQLAgentOperatorRole sabit veritabanı rolleri are in msdb veritabanı.Bunların izinleri hakkında daha fazla bilgi için bkz: SQL Server Agent veritabanı rolleri sabit.

Örnekler

A.Belirli bir iş geçmiş kaldırma

Aşağıdaki örnek adında 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.Zaman sysadmin bu saklı yordam parametre olmadan, tüm yerel ve çoklu sunucu işleri işgeçmiş temizlendi kullanıcılar yürütmek . Zaman SQLAgentOperatorRole bu saklı yordam parametre olmadan, yalnızca işgeçmiş tüm yerel işleri temizlendi kullanıcıların yürütmek .

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

USE msdb ;
GO

EXEC dbo.sp_purge_jobhistory ;
GO