Megosztás a következőn keresztül:


sys.sp_cdc_add_job (Transact-SQL)

A következőkre vonatkozik:SQL Server

Létrehoz egy változásadat-rögzítési tisztítást vagy rögzítési feladatot a jelenlegi adatbázisban.

Transact-SQL szintaxis konvenciók

Szemantika

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

Arguments

[ @job_type = ] N'job_type'

Milyen típusú munka van hozzátenni. @job_typenvarchar(20), és nem lehet NULLaz. Az érvényes bemenetek a következők capture : és cleanup.

[ @start_job = ] start_job

Jelzés, amely jelzi, hogy a munkát azonnal a hozzáadás után el kell-e indítani. @start_jobbit, amelynek alapértelmezettje .1

[ @maxtrans ] = max_trans

Minden szkennelési ciklusban a tranzakciók maximális száma. @maxtransint alapértelmezéssel 500. Ha meg van adva, az értéknek pozitív egész számnak kell lennie.

@maxtrans csak elfogási feladatokra érvényes.

[ @maxscans ] = max_scans

Maximális számú szkennelési ciklus, amit végrehajtani kell a naplóból az összes sor kinyeréséhez. @maxscansint alapértelmezéssel 10.

@max_scan csak elfogási feladatokra érvényes.

[ @continuous ] = folyamatos

Jelzi, hogy a befogó feladat folyamatosan (1), vagy csak egyszer (0). @continuousbit, amelynek alapértelmezettje .1

  • Amikor @continuous1, a sys.sp_cdc_scan feladat átvizsgálja a naplót, és feldolgozza (@maxtrans * @maxscans) tranzakciókat. Ezután megvárja a @pollinginterval-ban megadott másodpercszámot, mielőtt elkezdi a következő naplószkennelést.

  • Ha @continuous0, a sp_cdc_scan feladat akár @maxscans szkennelést hajt végre a naplóból, minden vizsgálat során akár @maxtrans tranzakciót is feldolgoz, majd kilép.

@continuous csak elfogási feladatokra érvényes.

[ @pollinginterval ] = polling_interval

Másodpercek száma a naplós szkennelési ciklusok között. @pollingintervalbigint , alapértelmezett értékben 5.

@pollinginterval csak akkor érvényes a befogási feladatoknál, ha @continuous be van állítva.1 Ha meg van határozva, az értéknek nagyobbnak vagy annak kell lennie, 0 mint 24 óra (legfeljebb 86399 másodperc). Ha egy értéket 0 megadnak, nincs várakozás a log scanek között.

[ @retention ] = megtartás

Az adatsorokat megváltoztató percek száma megmarad a változtató táblákban. @retentiona legnagyobb , alapértelmezett 4320 (72 óra). A maximális érték 52494800 (100 év). Ha meg van adva, az értéknek pozitív egész számnak kell lennie.

@retention csak takarítási munkákra érvényes.

[ @threshold = ] 'delete_threshold'

A törlés bejegyzéseinek maximális száma, amelyet egyetlen tisztulás utasítással lehet törölni. @thresholdbigint , alapértelmezett értékben 5000.

Kódértékek visszaadása

0 (sikeres) vagy 1 (hiba).

Eredményhalmaz

Nincs.

Megjegyzések

A tisztítási feladatot az alapértelmezett értékek alapján hoznak létre, amikor az adatbázis első táblája engedélyezve van a változásadatok rögzítésére. Egy rögzítési feladatot az alapértelmezett értékek alapján hoznak létre, amikor az adatbázis első táblája engedélyezve van a változásadat-rögzítésre, és nincs tranzakciós publikáció az adatbázis számára. Ha tranzakciós kiadvány létezik, a tranzakciós naplóolvasót használják a rögzítési mechanizmus működtetésére, és külön rögzítési feladat nem szükséges vagy engedélyezett.

Mivel a takarítási és rögzítési feladatokat alapértelmezés alapján hozza létre, ez a tárolt eljárás csak akkor szükséges, ha egy feladatot kifejezetten kihagytak, és újra létre kell hozni.

A munka neve cdc.<database_name>_cleanup vagy cdc.<database_name>_capture, ahol <database_name> az aktuális adatbázis neve. Ha egy azonos nevű munka már létezik, a nevet egy pont (.) és egy egyedi azonosító hozzáadják, például: cdc.AdventureWorks_capture.A1ACBDED-13FC-428C-8302-10100EF74F52.

A tisztítási vagy rögzítési munka aktuális konfigurációjának megtekintéséhez használja a sys.sp_cdc_help_jobs. A munka konfigurációjának megváltoztatásához használd a sys.sp_cdc_change_job.

Permissions

A rögzített adatbázis-szerepkör db_owner tagságot igényel.

Példák

A. Hozz létre egy elfoglaló feladatot

A következő példa egy elfoglaló feladatot hoz létre. Ez a példa feltételezi, hogy a meglévő takarítási munkát kifejezetten megszüntették, és újra kell létrehozni. A feladatot az alapértelmezett értékek alapján hozzuk létre.

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_add_job @job_type = N'capture';
GO

B. Hozz létre takarítómunkát

A következő példa egy takarítási feladatot hoz létre az AdventureWorks2025 adatbázisban. A @start_job paraméter beállítva, 0és @retention 5760 percre (96 órára) van beállítva. Ez a példa feltételezi, hogy a meglévő takarítási munkát kifejezetten megszüntették, és újra kell létrehozni.

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_add_job
    @job_type = N'cleanup',
    @start_job = 0,
    @retention = 5760;