sp_purge_jobhistory (Transact-SQL)
iş geçmiş kayıtları siler.
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