Поделиться через


sys.sp_cdc_change_job (Transact-SQL)

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

Значок ссылки на разделСоглашения о синтаксисе языка Transact-SQL

Синтаксис

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'

Аргументы

  • [ @job_type= ] 'job_type'
    Тип изменяемого задания. Аргумент job_type имеет тип nvarchar(20) со значением «capture» по умолчанию. Допустимые входы: «capture» и «cleanup».

  • [ @maxtrans ] **=**max_trans
    Максимальное число транзакций, которые необходимо обработать в каждом цикле просмотра. Параметр max_trans имеет тип int и значение NULL по умолчанию, которое указывает, что этот параметр не изменяется. Указываемое значение должно быть положительным целым числом.

    Аргумент max_trans допустим только для заданий записи.

  • [ @maxscans ] **=**max_scans
    Максимальное число циклов просмотра, выполняемое для извлечения всех строк из журнала. Параметр max_scans имеет тип int и значение NULL по умолчанию, которое указывает, что этот параметр не изменяется.

    Аргумент max_scan допустим только для заданий записи.

  • [ @continuous ] **=**continuous
    Указывает, следует ли выполнять задание отслеживания непрерывно (1) или запускать однократно (0). Параметр continuous имеет тип bit и значение NULL по умолчанию, которое указывает, что этот параметр не изменяется.

    Если continuous = 1, задание sp_cdc_scan просматривает журнал и обрабатывает число транзакций, не превышающее (max_trans * max_scans). Перед началом следующего просмотра журнала задание ожидает в течение времени, указанного аргументом polling_interval (в секундах).

    Если аргумент continuous = 0, то задание sp_cdc_scan выполняет до max_scans просмотров журнала, обрабатывая до max_trans транзакций за один просмотр, затем завершает выполнение.

    Если значение @continuous меняется с 1 на 0, параметр @pollinginterval автоматически принимает значение 0. Любое значение @pollinginterval, отличное от 0, не учитывается.

    Если параметр @continuous не указан или ему явно присвоено значение NULL, а параметру @pollinginterval явно присвоено значение, большее 0, то параметру @continuous автоматически присваивается значение 1.

    Аргумент continuous допустим только для заданий записи.

  • [ @pollinginterval ] **=**polling_interval
    Число секунд между циклами просмотра журнала. Параметр polling_interval имеет тип bigint и значение NULL по умолчанию, которое указывает, что этот параметр не изменяется.

    Аргумент polling_interval допустим только для заданий записи, когда аргумент continuous имеет значение 1.

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

    Аргумент retention допустим только для заданий очистки.

  • [ @threshold= ] 'delete threshold'
    Максимальное количество записей удаления, которое можно удалить с помощью одной инструкции входе очистки. Параметр delete threshold имеет тип bigint и значение NULL по умолчанию, которое указывает, что этот параметр не изменяется. Параметр delete threshold допустим только для заданий очистки.

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

0 (успешное завершение) или 1 (неуспешное завершение)

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

Нет

Замечания

Если параметр пропущен, то связанное с ним значение в таблице dbo.cdc_jobs не обновляется. Явное присвоение параметру значения NULL эквивалентно его пропусканию.

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

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

Разрешения

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

Примеры

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

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

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

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

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

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