sys.sp_cdc_add_job (SQL Bertransaksi)

Berlaku untuk:yes SQL Server (semua versi yang didukung)

Membuat pekerjaan pembersihan atau pengambilan tangkapan data perubahan di database saat ini.

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

  
sys.sp_cdc_add_job [ @job_type = ] 'job_type'  
    [ , [ @start_job = ] start_job ]   
    [ , [ @maxtrans = ] max_trans ]   
    [ , [ @maxscans = ] max_scans ]   
    [ , [ @continuous = ] continuous ]   
    [ , [ @pollinginterval = ] polling_interval ]   
    [ , [ @retention ] = retention ]   
    [ , [ @threshold ] = 'delete_threshold' ]  

Argumen

[ @job_type = ] 'job\_type' Jenis pekerjaan yang akan ditambahkan. job_type adalah nvarchar(20) dan tidak boleh NULL. Input yang valid adalah 'capture' dan 'cleanup'.

[ @start_job = ] start_job Bendera yang menunjukkan apakah pekerjaan harus dimulai segera setelah ditambahkan. start_jobsedikit dengan default 1.

[ @maxtrans ] = max_trans Jumlah maksimum transaksi yang akan diproses di setiap siklus pemindaian. max_transint dengan default 500. Jika ditentukan, nilainya harus berupa bilangan bulat positif.

max_trans hanya berlaku untuk pekerjaan pengambilan.

[ @maxscans ] = max\_scans_ Jumlah maksimum siklus pemindaian yang akan dijalankan untuk mengekstrak semua baris dari log. max_scansint dengan default 10.

max_scan hanya berlaku untuk pekerjaan pengambilan.

[ @continuous ] = continuous_ Menunjukkan apakah pekerjaan pengambilan akan berjalan terus menerus (1), atau hanya berjalan sekali (0). berkelanjutanadalah bit dengan default 1.

Ketika berkelanjutan = 1, pekerjaan sp_cdc_scan memindai log dan memproses hingga transaksi (max_trans * max_scans). Kemudian menunggu jumlah detik yang ditentukan dalam polling_interval sebelum memulai pemindaian log berikutnya.

Saat berkelanjutan = 0, pekerjaan sp_cdc_scan menjalankan hingga max_scans pemindaian log, memproses hingga max_trans transaksi selama setiap pemindaian, lalu keluar.

berkelanjutan hanya berlaku untuk pekerjaan pengambilan.

[ @pollinginterval ] = polling\_interval_ Jumlah detik antara siklus pemindaian log. polling_intervalbesar dengan default 5.

polling_interval hanya berlaku untuk pekerjaan pengambilan saat berkelanjutan diatur ke 1. Jika ditentukan, nilai harus lebih besar dari atau sama dengan 0 dan kurang dari 24 jam (Maks: 86399 detik). Jika nilai 0 ditentukan, tidak ada tunggu di antara pemindaian log.

[ @retention ] = retention_ Jumlah menit yang mengubah baris data akan dipertahankan dalam tabel perubahan. retensibesar dengan default 4320 (72 jam). Nilai maksimum adalah 52494800 (100 tahun). Jika ditentukan, nilainya harus berupa bilangan bulat positif.

retensi hanya berlaku untuk pekerjaan pembersihan.

[ @threshold = ] 'delete\_threshold' Jumlah maksimum entri penghapusan yang dapat dihapus dengan menggunakan satu pernyataan saat pembersihan. delete_thresholdbesar dengan default 5000.

Mengembalikan Nilai Kode

0 (berhasil) atau 1 (kegagalan)

Tataan Hasil

Tidak ada

Keterangan

Pekerjaan pembersihan dibuat menggunakan nilai default saat tabel pertama dalam database diaktifkan untuk mengubah pengambilan data. Pekerjaan pengambilan dibuat menggunakan nilai default saat tabel pertama dalam database diaktifkan untuk mengubah pengambilan data dan tidak ada publikasi transaksi untuk database. Ketika publikasi transaksi ada, pembaca log transaksi digunakan untuk mendorong mekanisme penangkapan, dan pekerjaan penangkapan terpisah tidak diperlukan atau diizinkan.

Karena pekerjaan pembersihan dan pengambilan dibuat secara default, prosedur tersimpan ini hanya diperlukan ketika pekerjaan telah dihilangkan secara eksplisit dan harus dibuat ulang.

Nama pekerjaan adalah cdc.<>database_name_cleanup atau cdc.<>database_name_capture, di mana <database_name> adalah nama database saat ini. Jika pekerjaan dengan nama yang sama sudah ada, nama ditambahkan dengan titik (.) diikuti dengan pengidentifikasi unik, misalnya: cdc.AdventureWorks_capture. A1ACBDED-13FC-428C-8302-10100EF74F52.

Untuk melihat konfigurasi pekerjaan pembersihan atau pengambilan saat ini, gunakan sp_cdc_help_jobs. Untuk mengubah konfigurasi pekerjaan, gunakan sp_cdc_change_job.

Izin

Memerlukan keanggotaan dalam peran database tetap db_owner .

Contoh

A. Membuat pekerjaan penangkapan

Contoh berikut membuat pekerjaan pengambilan. Contoh ini mengasumsikan bahwa pekerjaan pembersihan yang ada dihilangkan secara eksplisit dan harus dibuat ulang. Pekerjaan dibuat menggunakan nilai default.

USE AdventureWorks2012;  
GO  
EXEC sys.sp_cdc_add_job @job_type = N'capture';  
GO  

B. Membuat pekerjaan pembersihan

Contoh berikut membuat pekerjaan pembersihan di database AdventureWorks2012. Parameter @start_job diatur ke 0 dan @retention diatur ke 5760 menit (96 jam). Contoh ini mengasumsikan bahwa pekerjaan pembersihan yang ada dihilangkan secara eksplisit dan harus dibuat ulang.

USE AdventureWorks2012;  
GO  
EXEC sys.sp_cdc_add_job  
     @job_type = N'cleanup'  
    ,@start_job = 0  
    ,@retention = 5760;  

Lihat juga

dbo.cdc_jobs (SQL Bertransaksi)
sys.sp_cdc_enable_table (SQL Bertransaksi)
Tentang Change Data Capture (SQL Server)