sys.sp_cdc_change_job (Transact-SQL)
Изменяет конфигурацию задания очистки системы отслеживания измененных данных или задания записи в текущей базе данных. Чтобы просмотреть текущие настройки задания, необходимо выполнить запрос к таблице dbo.cdc_jobs либо использовать процедуру sp_cdc_help_jobs.
Синтаксис
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 задания отслеживания в базе данных AdventureWorks2008R2. Другие допустимые параметры задания отслеживания (@continuous и @pollinginterval) пропущены; их значения не изменяются.
USE AdventureWorks2008R2;
GO
EXECUTE sys.sp_cdc_change_job
@job_type = N'capture',
@maxscans = 1000,
@maxtrans = 15;
GO
Б. Изменение задания очистки
В следующем примере обновляется задание очистки базы данных AdventureWorks2008R2. Указаны все допустимые для данного типа задания параметры, кроме @threshold. Значение параметра @threshold не изменяется.
USE AdventureWorks2008R2;
GO
EXECUTE sys.sp_cdc_change_job
@job_type = N'cleanup',
@retention = 2880;
GO