sys.fn_cdc_decrement_lsn (Transact-SQL)
適用対象: SQL サーバー
指定された LSN の直前のログ シーケンス番号 (LSN) を返します。
構文
sys.fn_cdc_decrement_lsn ( lsn_value )
引数
lsn_value
LSN 値を指定します。 lsn_value は binary(10)です。
返り値の種類
binary(10)
解説
この関数から返される LSN は、指定された値よりも必ず小さくなり、2 つの値の間に LSN 値が存在することはありません。
アクセス許可
public データベース ロールのメンバーシップが必要です。
例
次の例では、 sys.fn_cdc_decrement_lsn
を使用して、LSN 値が最大 LSN 値より小さい変更データ行を返すクエリで上位の LSN 境界を設定します。
Use AdventureWorks2022;
GO
DECLARE @from_lsn binary(10), @to_lsn binary(10);
SET @from_lsn = sys.fn_cdc_get_min_lsn('HumanResources_Employee');
SET @to_lsn = sys.fn_cdc_decrement_lsn(sys.fn_cdc_get_max_lsn());
SELECT * FROM cdc.fn_cdc_get_all_changes_HumanResources_Employee( @from_lsn, @to_lsn, 'all');
GO
Note
指定された LSN 範囲が、 cdc.fn_cdc_get_all_changes_<capture_instance>
または cdc.fn_cdc_get_net_changes_<capture_instance>
を呼び出すときに適切でない場合は、エラー 313 が予期されます。 lsn_value
パラメーターが最も低い LSN または最大 LSN の時間を超えている場合、これらの関数の実行はエラー 313: Msg 313, Level 16, State 3, Line 1 An insufficient number of arguments were supplied for the procedure or function
で返されます。 このエラーは、開発者が処理する必要があります。