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