Sdílet prostřednictvím


sys.sp_cdc_change_job (Transact-SQL)

platí pro:SQL Server

Mění konfiguraci změny pro zachycení dat, čištění nebo zachycení v aktuální databázi. Pro zobrazení aktuální konfigurace úlohy se dotazujte do tabulky dbo.cdc_jobs nebo použijte sys.sp_cdc_help_jobs.

Transact-SQL konvence syntaxe

Syntaxe

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

Arguments

[ @job_type = ] N'job_type'

Typ práce, kterou je třeba upravit. @job_type je nvarchar(20) s výchozím hodnotou capture. Platné vstupy jsou capture a cleanup.

[ @maxtrans ] = max_trans

Maximální počet transakcí k zpracování v každém skenovacím cyklu. @maxtrans je int, s výchozím hodnotou NULL, což znamená, že tento parametr se nezměnil. Pokud je zadáno, musí být hodnota kladné celé číslo.

@max_trans platí pouze pro zachycení úkolů.

[ @maxscans ] = max_scans

Maximální počet cyklů skenování potřebných k vyřízení, aby bylo možné extrahovat všechny řádky z logu. @maxscans je int, s výchozím , NULLcož znamená nezměnu tohoto parametru.

@max_scan platí pouze pro zachycení úkolů.

[ @continuous ] = spojitý

Označuje, zda má zachytávací úkol běžet nepřetržitě (1), nebo pouze jednou (0). @continuous je bit, s výchozím hodnotou NULL, což znamená, že tento parametr se nezměnil.

  • Když je @continuous , 1sys.sp_cdc_scan úloha prohledá log a zpracovává až (@maxtrans * @maxscans) transakcí. Poté čeká počet sekund uvedený v @pollinginterval , než začne další logovací sken.

  • Když je @continuous , 0úloha provede sp_cdc_scan@maxscans skenování logu, během každého skenování zpracuje až @maxtrans transakcí a poté ukončí provoz.

  • Pokud je @continuous změněn z 1 na , 0@pollinginterval je automaticky nastaven na 0. Hodnota určená pro @pollinginterval jiného 0 než je ignorována.

  • Pokud je @continuous vynechán nebo explicitně nastaven na a NULL@pollinginterval je explicitně nastaven na hodnotu větší než 0, @continuous je automaticky nastaven na 1.

@continuous platí pouze pro zachycení úloh.

[ @pollinginterval ] = polling_interval

Počet sekund mezi cykly logaritamu skenování. @pollinginterval je bigint, s výchozím nastavením NULL, což znamená, že tento parametr se nezměnil.

@pollinginterval platí pouze pro zachycovací úlohy, pokud je @continuous nastaveno na 1.

[ @retention ] = udržení

Počet minut, kdy se řádky změní, musí být zaznamenán v tabulkách změn. @retention je bigint, s výchozím hodnotou NULL, což znamená, že tento parametr se nezměnil. Maximální hodnota je 52494800 (100 let). Pokud je zadáno, musí být hodnota kladné celé číslo.

@retention platí pouze pro úklidové práce.

[ @threshold = ] 'práh pro smazání'

Maximální počet položek pro mazání, které lze smazat pomocí jednoho příkazu při čištění. @threshold je bigint, s výchozím nastavením NULL, což znamená, že tento parametr se nezměnil. @threshold platí pouze pro úklidové práce.

Hodnoty návratového kódu

0 (úspěch) nebo 1 (selhání).

Sada výsledků

Žádné.

Poznámky

Pokud je parametr vynechán, příslušná hodnota v tabulce dbo.cdc_jobs se neaktualizuje. Parametr nastavený explicitně na NULL je považován za vynechán.

Zadání parametru, který je pro daný typ úkolu neplatné, způsobí, že příkaz selže.

Změny v práci se uplatňují až poté, co je úkol zastaven použitím sys.sp_cdc_stop_job a znovu spuštěn pomocí sys.sp_cdc_start_job.

Povolení

Vyžaduje členství v roli db_owner pevné databáze.

Examples

A. Změna capture jobu

Následující příklad aktualizuje parametry @job_type, @maxscans a @maxtrans zachycovací úlohy v AdventureWorks2025 databázi. Ostatní platné parametry pro zachycení úkolu, @continuous a @pollinginterval, jsou vynechány; Jejich hodnoty nejsou upraveny.

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_change_job
    @job_type = N'capture',
    @maxscans = 1000,
    @maxtrans = 15;
GO

B. Změňte úklidovou práci

Následující příklad aktualizuje AdventureWorks2025 úkol pro čištění v databázi. Všechny platné parametry pro tento typ úlohy, kromě @threshold, jsou specifikovány. Hodnota @threshold není změněna.

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_change_job
    @job_type = N'cleanup',
    @retention = 2880;
GO