sys.sp_cdc_add_job (Transact-SQL)
Создает задание очистки или записи системы отслеживания измененных данных в текущей базе данных.
Синтаксис
sys.sp_cdc_add_job [ @job_type = ] 'job_type'
[ , [ @start_job = ] start_job ]
[ , [ @maxtrans = ] max_trans ]
[ , [ @maxscans = ] max_scans ]
[ , [ @continuous = ] continuous ]
[ , [ @pollinginterval = ] polling_interval ]
[ , [ @retention ] = retention ]
[ , [ @threshold ] = 'delete_threshold' ]
Аргументы
[ @job_type= ] 'job_type'
Тип добавляемого задания. Аргумент job_type имеет тип nvarchar(20) и не может принимать значение NULL. Допускаются входные значения 'capture' и 'cleanup'.[ @start_job= ] start_job
Флаг, показывающий, надо ли запускать задание сразу после его добавления. Аргумент start_job имеет тип bit и значение по умолчанию 1.[ @maxtrans ] = max_trans
Максимальное число транзакций, обрабатываемое в каждом цикле просмотра. Аргумент max_trans имеет тип int и значение 500 по умолчанию. Если указывается его значение, оно должно быть целым положительным числом.Аргумент max_trans допустим только для заданий записи.
[ @maxscans ] **=**max_scans
Максимальное число циклов просмотра, выполняемых для извлечения всех строк из журнала. Аргумент max_scans имеет тип int и значение 10 по умолчанию.Аргумент max_scan допустим только для заданий записи.
[ @continuous ] **=**continuous
Указывает, следует ли выполнять задание отслеживания непрерывно (1) или запустить однократно (0). Аргумент continuous имеет тип bit и значение по умолчанию 1.Если аргумент continuous = 1, задание sp_cdc_scan просматривает журнал и обрабатывает до (max_trans * max_scans) транзакций. Перед началом следующего просмотра журнала задание ожидает в течение времени, указанного в аргументе polling_interval (в секундах).
Если аргумент continuous = 0, то задание sp_cdc_scan выполняет до max_scans просмотров журнала, обрабатывая до max_trans транзакций за один просмотр, затем завершает выполнение.
Аргумент continuous допустим только для заданий записи.
[ @pollinginterval ] **=**polling_interval
Число секунд между циклами просмотра журнала. Аргумент polling_interval имеет тип bigint и значение по умолчанию 5.Параметр polling_interval допустим только для заданий отслеживания, когда параметр continuous имеет значение 1. Если значение указано, то оно не может быть отрицательным и превышать значение в 24 часа. Если указано значение 0, то пауза между операциями просмотра журналов отсутствует.
[ @retention ] **=**retention
Число минут, в течение которого строки изменений необходимо хранить в таблицах изменений. Аргумент retention имеет тип bigint со значением по умолчанию 4320 (72 часа). Максимальное значение составляет 52494800 (100 лет). Указываемое значение должно быть положительным целым числом.Аргумент retention допустим только для заданий очистки.
[ @threshold = ] 'delete_threshold'
Максимальное число записей, подлежащих удалению, которые можно удалить с использованием одной инструкции при очистке. delete_threshold принадлежит к типу bigint со значением по умолчанию, равным 5000.
Значения кодов возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Результирующие наборы
Нет
Замечания
Если для первой таблицы включена система отслеживания измененных данных, при создании задания очистки используются значения по умолчанию. Если для первой таблицы включена система отслеживания измененных данных и в базе данных не существует публикаций транзакций, при создании задания записи используются значения по умолчанию. Если существует публикация транзакций, для работы механизма записи используется агент чтения журнала в репликации транзакций, а отдельное задание записи не требуется и не допускается.
Так как задания очистки и записи создаются по умолчанию, данная хранимая процедура используется только в тех случаях, когда задание необходимо повторно создать после выполнения явного удаления.
Именем задания является cdc.<имя_базы_данных>_cleanup или cdc.<имя_базы_данных>_capture, где <имя_базы_данных> — имя текущей базы данных. Если задание с таким именем уже существует, имя дополняется точкой (.) и уникальным идентификатором, например: cdc.AdventureWorks_capture.A1ACBDED-13FC-428C-8302-10100EF74F52.
Чтобы просмотреть текущие настройки задания очистки или записи, используйте процедуру sp_cdc_help_jobs. Чтобы изменить конфигурацию задания, используйте инструкцию sp_cdc_change_job.
Разрешения
Требуется членство в предопределенной роли базы данных db_owner.
Примеры
А. Создание задания записи
В следующем примере создается задание записи. В этом примере предполагается, что существующее задание очистки было явным образом удалено и его необходимо создать повторно. Задание создается с использованием значений по умолчанию.
USE AdventureWorks;
GO
EXEC sys.sp_cdc_add_job @job_type = N'capture';
GO
Б. Создание задания очистки
В следующем примере создается задание очистки в базе данных AdventureWorks. Параметр @start\_job имеет значение 0, а аргумент @retention — 5760 минут (96 часов). В этом примере предполагается, что существующее задание очистки было явным образом удалено и его необходимо создать повторно.
USE AdventureWorks;
GO
EXEC sys.sp_cdc_add_job
@job_type = N'cleanup'
,@start_job = 0
,@retention = 5760;
См. также
.gif)