sys.sp_cdc_add_job (Transact-SQL)sys.sp_cdc_add_job (Transact-SQL)

Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions)

Создает задание очистки или записи системы отслеживания информации об изменениях в текущей базе данных.Creates a change data capture cleanup or capture job in the current database.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQLTopic link icon Transact-SQL Syntax Conventions

СинтаксисSyntax

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

АргументыArguments

[ @job_type = ] 'job\_type' Тип добавляемого задания.[ @job_type = ] 'job\_type' Type of job to add. job_type имеет тип nvarchar (20) и не может иметь значение null.job_type is nvarchar(20) and cannot be NULL. Допустимые входные данные: "Capture" и "Cleanup".Valid inputs are 'capture' and 'cleanup'.

[ @start_job = ] start_job Флаг, указывающий, следует ли запускать задание сразу после его добавления.[ @start_job = ] start_job Flag indicating whether the job should be started immediately after it is added. start_job имеет бит со значением по умолчанию 1.start_job is bit with a default of 1.

[ @maxtrans ] = max_trans Максимальное количество транзакций, обрабатываемых в каждом цикле просмотра.[ @maxtrans ] = max_trans Maximum number of transactions to process in each scan cycle. max_trans имеет тип int и значение по умолчанию 500.max_trans is int with a default of 500. Указываемое значение должно быть положительным целым числом.If specified, the value must be a positive integer.

max_trans допустимы только для заданий отслеживания.max_trans is valid only for capture jobs.

[ @maxscans ] = max\_scans_ Максимальное число циклов просмотра, которое необходимо выполнить для извлечения всех строк из журнала.[ @maxscans ] = max\_scans_ Maximum number of scan cycles to execute in order to extract all rows from the log. max_scans имеет тип int и значение по умолчанию 10.max_scans is int with a default of 10.

max_scan допустимы только для заданий отслеживания.max_scan is valid only for capture jobs.

[ @continuous ] = continuous_ Указывает, должно ли задание отслеживания выполняться непрерывно (1) или выполняться только один раз (0).[ @continuous ] = continuous_ Indicates whether the capture job is to run continuously (1), or run only once (0). параметр Continuous имеет бит и значение по умолчанию 1.continuous is bit with a default of 1.

Если Continuous = 1, задание sp_cdc_scan сканирует журнал и обрабатывает транзакции до (max_trans * max_scans).When continuous = 1, the sp_cdc_scan job scans the log and processes up to (max_trans * max_scans) transactions. Затем он ожидает число секунд, указанное в polling_interval , перед началом следующего просмотра журнала.It then waits the number of seconds specified in polling_interval before beginning the next log scan.

Если Continuous = 0, sp_cdc_scan задание выполняется до max_scans просмотров журнала, обработки до max_trans транзакции во время каждого сканирования, а затем завершает работу.When continuous = 0, the sp_cdc_scan job executes up to max_scans scans of the log, processing up to max_trans transaction during each scan, and then exits.

Непрерывная допустима только для заданий отслеживания.continuous is valid only for capture jobs.

[ @pollinginterval ] = polling\_interval_ Количество секунд между циклами просмотра журнала.[ @pollinginterval ] = polling\_interval_ Number of seconds between log scan cycles. polling_interval имеет тип bigint и значение по умолчанию 5.polling_interval is bigint with a default of 5.

polling_interval является допустимым только для заданий отслеживания, если параметр Continuous установлен в значение 1.polling_interval is valid only for capture jobs when continuous is set to 1. Если значение указано, оно должно быть больше или равно 0 и меньше 24 часов (максимум: 86399 секунд).If specified, the value must be greater than or equal to 0 and less than 24 hours(Max: 86399 seconds). Если указано значение 0, то пауза между операциями просмотра журналов отсутствует.If a value of 0 is specified, there is no wait between log scans.

[ @retention ] = retention_ Количество минут, в течение которых строки данных изменения должны храниться в таблицах изменений.[ @retention ] = retention_ Number of minutes that change data rows are to be retained in change tables. параметр retention имеет тип bigint и значение по умолчанию 4320 (72 часов).retention is bigint with a default of 4320 (72 hours). Максимальное значение составляет 52494800 (100 лет).The maximum value is 52494800 (100 years). Указываемое значение должно быть положительным целым числом.If specified, the value must be a positive integer.

Хранение допустимо только для заданий очистки.retention is valid only for cleanup jobs.

[ @threshold = ] 'delete\_threshold' Максимальное число записей удаления, которые могут быть удалены с помощью одной инструкции при очистке.[ @threshold = ] 'delete\_threshold' Maximum number of delete entries that can be deleted by using a single statement on cleanup. delete_threshold имеет тип bigint и значение по умолчанию 5000.delete_threshold is bigint with a default of 5000.

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

0 (успешное завершение) или 1 (сбой)0 (success) or 1 (failure)

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

NoneNone

RemarksRemarks

Если для первой таблицы включена система отслеживания измененных данных, при создании задания очистки используются значения по умолчанию.A cleanup job is created using the default values when the first table in the database is enabled for change data capture. Если для первой таблицы включена система отслеживания измененных данных и в базе данных не существует публикаций транзакций, при создании задания отслеживания используются значения по умолчанию.A capture job is created using the default values when the first table in the database is enabled for change data capture and no transactional publications exist for the database. Если существует публикация транзакций, для работы механизма записи используется агент чтения журнала в репликации транзакций, а отдельное задание отслеживания не требуется и не допускается.When a transactional publication exists, the transactional log reader is used to drive the capture mechanism, and a separate capture job is neither required nor allowed.

Так как задания очистки и отслеживания создаются по умолчанию, данная хранимая процедура используется только в тех случаях, когда задание необходимо повторно создать после выполнения явного удаления.Because the cleanup and capture jobs are created by default, this stored procedure is necessary only when a job has been explicitly dropped and must be recreated.

Имя задания — CDC. <database_name> ** _ Очистка** или CDC. <database_name> ** _ Capture**, где <database_name> — имя текущей базы данных.The name of the job is cdc.<database_name>_cleanup or cdc.<database_name>_capture, where <database_name> is the name of the current database. Если задание с таким именем уже существует, к имени добавляется точка (.), за которой следует уникальный идентификатор, например: CDC. AdventureWorks_capture. A1ACBDED-13FC-428C-8302-10100EF74F52.If a job with the same name already exists, the name is appended with a period (.) followed by a unique identifier, for example: cdc.AdventureWorks_capture.A1ACBDED-13FC-428C-8302-10100EF74F52.

Чтобы просмотреть текущую конфигурацию задания очистки или записи, используйте sp_cdc_help_jobs.To view the current configuration of a cleanup or capture job, use sp_cdc_help_jobs. Чтобы изменить конфигурацию задания, используйте sp_cdc_change_job.To change the configuration of a job, use sp_cdc_change_job.

РазрешенияPermissions

Требуется членство в предопределенной роли базы данных db_owner .Requires membership in the db_owner fixed database role.

ПримерыExamples

A.A. Создание задания отслеживанияCreating a capture job

В следующем примере создается задание отслеживания.The following example creates a capture job. В этом примере предполагается, что существующее задание очистки было явным образом удалено и его необходимо создать повторно.This example assumes that the existing cleanup job was explicitly dropped and must be recreated. Задание создается с использованием значений по умолчанию.The job is created using the default values.

USE AdventureWorks2012;  
GO  
EXEC sys.sp_cdc_add_job @job_type = N'capture';  
GO  

Б.B. Создание задания очисткиCreating a cleanup job

В следующем примере создается задание очистки в базе данных AdventureWorks2012AdventureWorks2012.The following example creates a cleanup job in the AdventureWorks2012AdventureWorks2012 database. Параметр @start_job имеет значение 0, а аргумент @retention — 5 760 минут (96 часов).The parameter @start_job is set to 0 and @retention is set to 5760 minutes (96 hours). В этом примере предполагается, что существующее задание очистки было явным образом удалено и его необходимо создать повторно.This example assumes that the existing cleanup job was explicitly dropped and must be recreated.

USE AdventureWorks2012;  
GO  
EXEC sys.sp_cdc_add_job  
     @job_type = N'cleanup'  
    ,@start_job = 0  
    ,@retention = 5760;  

См. такжеSee Also

dbo. cdc_jobs (Transact-SQL) dbo.cdc_jobs (Transact-SQL)
sys. sp_cdc_enable_table (Transact-SQL) sys.sp_cdc_enable_table (Transact-SQL)
Об отслеживании измененных данных (SQL Server)About Change Data Capture (SQL Server)