sys.sp_cdc_change_job (Transact-SQL)
適用対象:SQL Server
現在のデータベースの変更データ キャプチャ クリーンup ジョブまたはキャプチャ ジョブの構成を変更します。 ジョブの現在の構成を表示するには、dbo.cdc_jobs テーブルに対してクエリを実行するか、sp_cdc_help_jobsを使用します。
構文
sys.sp_cdc_change_job [ [ @job_type = ] N'job_type' ]
[ , [ @maxtrans = ] max_trans ]
[ , [ @maxscans = ] max_scans ]
[ , [ @continuous = ] continuous ]
[ , [ @pollinginterval = ] polling_interval ]
[ , [ @retention ] = retention ]
[ @threshold = ] 'delete threshold'
[ ; ]
引数
[ @job_type = ] N'job_type'
変更するジョブの種類。 @job_typeは nvarchar(20) で、既定値は capture
. 有効な入力は capture
と cleanup
です。
[ @maxtrans ] = max_trans
各スキャン サイクルで処理するトランザクションの最大数。 @maxtransは int で、既定値は NULL
、このパラメーターの変更がないことを示します。 指定する場合、値は正の整数である必要があります。
@max_transは、キャプチャ ジョブに対してのみ有効です。
[ @maxscans ] = max_scans
ログからすべての行を抽出するために実行する最大スキャン サイクル数を指定します。 @maxscansは int で、既定値は NULL
、このパラメーターの変更がないことを示します。
@max_scanは、キャプチャ ジョブに対してのみ有効です。
[ @continuous ] = 連続
キャプチャ ジョブを継続的に実行するか (1
1 回0
だけ) 実行するかを示します。 @continuousはビットで、既定値は NULL
、このパラメーターの変更がないことを示します。
@continuousの場合、sp_cdc_scan ジョブは
1
ログをスキャンし、最大 (@maxtrans * @maxscans
) トランザクションを処理します。 次に、次のログ スキャンを開始する前に、@pollingintervalで指定された秒数を待機します。@continuousの場合、
sp_cdc_scan
ジョブは0
ログのスキャンを最大@maxscans実行し、各スキャン中に最大@maxtransトランザクションを処理してから終了します。@continuousが変更
0
1
された場合、@pollingintervalは自動的に0
に設定されます。 以外の@pollinginterval0
に指定された値は無視されます。@continuousを省略するか、明示的に NULL に設定し、@pollingintervalが明示的により
0
大きい値に設定されている場合、@continuousは自動的に に1
設定されます。
@continuousは、キャプチャ ジョブに対してのみ有効です。
[ @pollinginterval ] = polling_interval
ログ スキャン サイクル間の秒数。 @pollingintervalは bigint で、既定値は NULL
、このパラメーターに変更がないことを示します。
@pollingintervalは、@continuousが に設定されている場合にのみ、キャプチャ ジョブに対して1
有効です。
[ @retention ] = 保持
変更行を変更する分数は、変更テーブルに保持されます。 @retentionは bigint で、既定値は NULL
、このパラメーターの変更がないことを示します。 最大値は 52494800
(100 年) です。 指定する場合、値は正の整数である必要があります。
@retentionは、クリーンup ジョブに対してのみ有効です。
[ @threshold = ] 'delete threshold'
クリーンup で 1 つのステートメントを使用して削除できる削除エントリの最大数。 @thresholdは bigint で、既定値は NULL
、このパラメーターの変更がないことを示します。 @thresholdは、クリーンup ジョブに対してのみ有効です。
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
ありません。
解説
パラメーターを省略すると、dbo.cdc_jobs テーブル内の関連付けられた値は更新されません。 明示的に NULL に設定されたパラメーターは、パラメーターが省略されているかのように扱われます。
ジョブの種類に無効なパラメーターを指定すると、ステートメントは失敗します。
ジョブに対する変更は、sp_cdc_stop_jobを使用してジョブが停止され、sp_cdc_start_jobを使用して再起動されるまで有効になりません。
アクセス許可
db_owner 固定データベース ロール内でメンバーシップが必要です。
例
A. キャプチャ ジョブを変更する
次の例では、データベース内の キャプチャ ジョブの@job_type、 @maxscans、および @maxtrans パラメーターを AdventureWorks2022
更新します。 キャプチャ ジョブ の他の有効なパラメーター (@continuous と @pollinginterval) は省略されます。それらの値は変更されません。
USE AdventureWorks2022;
GO
EXECUTE sys.sp_cdc_change_job
@job_type = N'capture',
@maxscans = 1000,
@maxtrans = 15;
GO
B. クリーンup ジョブを変更する
次の例では、データベース内の クリーンup ジョブをAdventureWorks2022
更新します。 @thresholdを除く、このジョブ・タイプのすべての有効なパラメーターが指定されます。 @thresholdの値は変更されません。
USE AdventureWorks2022;
GO
EXECUTE sys.sp_cdc_change_job
@job_type = N'cleanup',
@retention = 2880;
GO
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示