2016-11-25 15 views
0

私はcdcを試していますが、私はこれらの手順に従っていました。関数sys.fn_cdc_get_max_lsn()がnullを返します

  1. EXEC sys.sp_cdc_enable_db -

  2. DECLARE @Begin_LSN BINARY(10), @End_LSN BINARY(10) SET @Begin_LSN =sys.fn_cdc_get_min_lsn('DW_APIprocess') SET @End_LSN = sys.fn_cdc_get_max_lsn() SELECT @Begin_LSN, @End_LSN, N'all'; SELECT * FROM cdc.fn_cdc_get_all_changes_DW_APIprocess( @Begin_LSN , @End_LSN , 'all')呼ばテーブルにDB

  3. EXEC sys.sp_cdc_enable_table @source_schema = N'DW', @source_name = N'APIprocess', @role_name = NULL, @supports_net_changes = 0 --enableテーブル
  4. 挿入および更新を有効にする - 変更を取得してください

そして、私が4番目のステップを実行すると、このエラーがスローされます:

An insufficient number of arguments were supplied for the procedure or function cdc.fn_cdc_get_all_changes_

私は答えを探しましたが、答えは見つかったものの、sys.fn_cdc_get_max_lsn()関数がnullを返すため問題が発生しなかったので、それは私の問題です。 要約すると、なぜその関数がバイナリの代わりにnullを返すのか分かります。おかげさまで

答えて

2

問題は、私はSQLサーバエージェントのサービスをアクティブにしていないことです。アクティブにした後、CDCはテーブルの操作を追跡し始めました。

関連する問題