sys.sp_cdc_change_job (Transact-SQL)

Область применения: SQL Server

Изменяет конфигурацию задания очистки системы отслеживания измененных данных или задания записи в текущей базе данных. Чтобы просмотреть текущую конфигурацию задания, запросите таблицу dbo.cdc_jobs или используйте sys.sp_cdc_help_jobs.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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'
[ ; ]

Аргументы

[ @job_type = ] N'job_type'

Тип задания для изменения. @job_type — nvarchar(20) с значением по умолчаниюcapture. Допустимые входные данные и capture cleanup.

[ @maxtrans ] = max_trans

Максимальное количество транзакций, обрабатываемое в каждом цикле просмотра. @maxtrans имеет значение int с значением по умолчаниюNULL, которое указывает на отсутствие изменений для этого параметра. Указываемое значение должно быть положительным целым числом.

@max_trans допустимо только для заданий записи.

[ @maxscans ] = max_scans

Максимальное количество циклов просмотра, выполняемых для извлечения всех строк из журнала. @maxscans имеет значение int с значением по умолчаниюNULL, которое указывает на отсутствие изменений для этого параметра.

@max_scan допустимо только для заданий записи.

[ @continuous ] = непрерывный

Указывает, выполняется ли задание записи непрерывно (1) или выполняется только один раз (0). @continuous бит с значением по умолчаниюNULL, которое указывает на отсутствие изменений для этого параметра.

  • При @continuous задание sys.sp_cdc_scan 1 сканирует журнал и обрабатывает до (@maxtrans * @maxscans) транзакций. Затем он ожидает количество секунд, указанных в @pollinginterval , прежде чем начать следующую проверку журнала.

  • При @continuous sp_cdc_scan 0задание выполняет до @maxscans сканирования журнала, обработки до @maxtrans транзакций во время каждой проверки, а затем завершает работу.

  • Если @continuous изменяется с 01 , @pollinginterval автоматически устанавливается0. Значение, указанное для @pollinginterval , отличное от 0 игнорируемого.

  • Если @continuous опущен или явно задано NULL значение и @pollinginterval явно задано значение, 0превышающее значение, @continuous автоматически задается 1.

@continuous допустимо только для заданий записи.

[ @pollinginterval ] = polling_interval

Число секунд между циклами просмотра журнала. @pollinginterval является bigint с значением по умолчаниюNULL, которое указывает на отсутствие изменений для этого параметра.

@pollinginterval допустимо только для заданий записи, если задано 1значение @continuous.

[ @retention ] = хранение

Число минут, в течение которого строки изменений должны храниться в таблицах изменений. @retention является bigint с значением по умолчаниюNULL, которое указывает на отсутствие изменений для этого параметра. Максимальное значение — 52494800 100 лет. Указываемое значение должно быть положительным целым числом.

@retention допустимо только для заданий очистки.

[ @threshold = ] 'delete порог'

Максимальное число записей, подлежащих удалению, которые могут быть удалены одной инструкцией при очистке. @threshold является bigint, с значением по умолчаниюNULL, которое указывает на отсутствие изменений для этого параметра. @threshold допустимо только для заданий очистки.

Значения кода возврата

0 (успешно) или 1 (сбой).

Результирующий набор

Нет.

Замечания

Если параметр опущен, связанное значение в таблице dbo.cdc_jobs не обновляется. Параметр, NULL заданный явным образом, обрабатывается так, как будто параметр опущен.

Указание недопустимого параметра для типа задания приводит к сбою инструкции.

Изменения в задании не вступают в силу, пока задание не будет остановлено с помощью sys.sp_cdc_stop_job и перезапуска с помощью sys.sp_cdc_start_job.

Разрешения

Требуется членство в предопределенной роли базы данных db_owner.

Примеры

А. Изменение задания записи

В следующем примере обновляются параметры @job_type, @maxscans и @maxtrans задания записи в AdventureWorks2022 базе данных. Другие допустимые параметры для задания записи, @continuous и @pollinginterval, опущены; их значения не изменяются.

USE AdventureWorks2022;
GO

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

B. Изменение задания очистки

В следующем примере обновляется задание очистки базы данных AdventureWorks2022. Указаны все допустимые параметры этого типа задания, кроме @threshold. Значение @threshold не изменяется.

USE AdventureWorks2022;
GO

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