sys.fn_cdc_decrement_lsn (Transact-SQL)

適用対象:SQL Server

指定された LSN の直前のログ シーケンス番号 (LSN) を返します。

Transact-SQL 構文表記規則

構文

  
sys.fn_cdc_decrement_lsn ( lsn_value )  

引数

lsn_value

LSN 値を指定します。 lsn_valuebinary(10)です

戻り値の型

binary(10)

注釈

この関数から返される LSN は、指定された値よりも必ず小さくなり、2 つの値の間に LSN 値が存在することはありません。

アクセス許可

パブリック データベース ロールのメンバーシップが必要です。

次の例では、 を使用 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  

注意

または cdc.fn_cdc_get_net_changes_<capture_instance>を呼び出cdc.fn_cdc_get_all_changes_<capture_instance>すときに、指定された LSN 範囲が適切でない場合、エラー 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で返されます。 このエラーは、開発者が処理する必要があります。 回避策の T-SQL のサンプルについては、 GitHub の ReplTalk を参照してください。

参照