sys.sp_cdc_change_job (Transact-sql)
Bir değişiklik veri yakalama Temizleme veya yakalama işinde geçerli veritabanı yapılandırmasını değiştirir. İşin geçerli yapılandırmasını görüntülemek için dbo.cdc_jobs tablo veya kullanmak sp_cdc_help_jobs.
Transact-SQL Sözdizim Kuralları
Sözdizimi
sys.sp_cdc_change_job [ [ @job_type = ] 'job_type' ]
[ , [ @maxtrans = ] max_trans ]
[ , [ @maxscans = ] max_scans ]
[ , [ @continuous = ] continuous ]
[ , [ @pollinginterval = ] polling_interval ]
[ , [ @retention ] = retention ]
[ @threshold = ] 'delete threshold'
Bağımsız değişkenler
@job_type='job_type'
Değiştirmek için işi tipi. job_typeise nvarchar(20)'yakalama' varsayılan. Geçerli girişleri olan 'yakalama' ve 'Temizleme'.**@maxtrans=**max_trans
Hareketleri her tarama döngüsü işlemek için en fazla sayısı. max_transise intnull varsayılan ile hangi gösterir bu parametre için bir değişiklik yok. Belirtilmişse, değerin pozitif bir tamsayı olmalıdır.max_transyakalama işler için geçerlidir.
**@maxscans=**max_scans
Tarama döngüsü tüm satırlar günlükten ayıklamak için yürütmek için en fazla sayısı. max_scansise intnull varsayılan ile hangi gösterir bu parametre için bir değişiklik yok.max_scanyakalama işler için geçerlidir.
**sürekli @=**continuous
Yakalama iş sürekli çalışacak şekilde olup olmadığını gösterir (1), ya da yalnızca bir kez çalışmak (0). continuousise bitnull varsayılan ile hangi gösterir bu parametre için bir değişiklik yok.Ne zaman continuous= 1, sp_cdc_scan iş günlük tarar ve kadar işler ( max_trans * max_scans) hareketleri. Sonra belirtilen saniye bekler polling_intervalsonraki günlük tarama başlamadan önce.
Ne zaman continuous= 0, sp_cdc_scan işi yürütür kadar max_scanskadar işlem günlüğünü, inceden inceye gözden geçirmek max_transHareketler sırasında her inceden inceye gözden geçirmek ve sonra çıkar.
Eğer sürekli @ 1-0 olarak değiştirdi @ pollinginterval otomatik olarak 0 değerine ayarlanır. Belirtilen bir değer @ pollinginterval dışında 0 sayılır.
Eğer sürekli @ ihmal veya açıkça null olarak ayarlayın ve @ pollinginterval açıkça bir değer 0'dan büyük ayarlanmış sürekli @ otomatik olarak 1 değerine ayarlanır.
continuousyakalama işler için geçerlidir.
**@ pollinginterval=**polling_interval
Günlük tarama döngüleri arasındaki saniye sayısı. polling_intervalise bigintnull varsayılan ile hangi gösterir bu parametre için bir değişiklik yok.polling_intervalyalnızca yakalama için geçerli olan zaman işler continuous1'e ayarlıdır.
**@ saklama=**retention
Değişiklik tabloları tutulacak satır değiştirme dakika vardır. retentionise bigintnull varsayılan ile hangi gösterir bu parametre için bir değişiklik yok. 52494800 (100 Yıl) en büyük değerdir. Belirtilmişse, değerin pozitif bir tamsayı olmalıdır.retentiontemizlik işleri için geçerlidir.
@threshold='delete threshold'
Temizleme üzerinde tek bir deyimi kullanılarak silinebilir silme girdileri en fazla sayısı. delete thresholdise bigintnull varsayılan ile hangi gösterir bu parametre için bir değişiklik yok. delete thresholdtemizlik işleri için geçerlidir.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (hata)
Sonuç Kümeleri
Hiçbiri
Açıklamalar
Parametre belirtilmezse, ilişkili değeri dbo.cdc_jobs tablosu güncelleştirilmedi. Bir parametre null parametresi atlanmıştır sanki değerlendirilir açıkça için ayarlayın.
İş türü için geçersiz bir parametre belirtilmesi deyimi başarısız olmasına neden olur.
Değişiklikler iş değil etkili iş kullanarak durduruluncaya kadar Iş ve kullanarak yeniden olmazsp_cdc_stop_jobve.
İzinler
Üyelik db_owner veritabanı rolü.
Örnekler
A.Yakalama iş değiştirme
Aşağıdaki örnek güncelleştirmeleri @job\_type, @maxscans, ve @maxtransbir yakalama iş parametrelerini AdventureWorks2012veritabanı. Diğer geçerli parametreler için bir yakalama iş @continuousve @pollinginterval, göz ardı edilir; değerleri değiştirilmez.
USE AdventureWorks2012;
GO
EXECUTE sys.sp_cdc_change_job
@job_type = N'capture',
@maxscans = 1000,
@maxtrans = 15;
GO
USE AdventureWorks2012;
GO
EXECUTE sys.sp_cdc_change_job
@job_type = N'capture',
@maxscans = 1000,
@maxtrans = 15;
GO
B.Temizleme işi değiştirme
Aşağıdaki örnek temizleme işi de güncelleştirir AdventureWorks2012veritabanı. Tüm geçerli parametreler için bu iş türü dışında @ eşik, belirtilir. Değeri @ eşik değil.
USE AdventureWorks2012;
GO
EXECUTE sys.sp_cdc_change_job
@job_type = N'cleanup',
@retention = 2880;
GO
USE AdventureWorks2012;
GO
EXECUTE sys.sp_cdc_change_job
@job_type = N'cleanup',
@retention = 2880;
GO