LSN е "парчета" информация, свързана с вашите промени в SQL Server. Ако нямате LSN, възможно е вашият CDC да не работи или да не е конфигуриран правилно. Debezium използва LSN за репликиране, така че вашият SQL Server трябва да генерира това.
Някои подходи:
- Проверихте ли дали вашата маса е с активиран CDC? Това ще покаже вашите маси с активиран CDC:
SELECT s.name AS Schema_Name, tb.name AS Table_Name
, tb.object_id, tb.type, tb.type_desc, tb.is_tracked_by_cdc
FROM sys.tables tb
INNER JOIN sys.schemas s on s.schema_id = tb.schema_id
WHERE tb.is_tracked_by_cdc = 1
- Вашата CDC база данни активирана ли е и работи ли? (вижте тук )
Проверете дали активирано :
SELECT *
FROM sys.change_tracking_databases
WHERE database_id=DB_ID('MyDatabase')
И проверете дали работи:
EXECUTE sys.sp_cdc_enable_db;
GO
- Вашата CDC услуга работи ли на SQL Server? Вижте в документи
EXEC sys.sp_cdc_start_job;
GO
- При активирането на таблицата в CDC имах някои проблеми с името на ролята. За моя случай конфигуриране на
null
реши проблема ми (повече подробности тук )
EXEC sys.sp_cdc_enable_table
@source_schema=N'dbo',
@source_name=N'AD6010',
@capture_instance=N'ZZZZ_AD6010',
@role_name = NULL,
@filegroup_name=N'CDC_DATA',
@supports_net_changes=1
GO