LSN jsou „části“ informací souvisejících s vašimi změnami SQL Serveru. Pokud nemáte LSN, je možné, že vaše CDC nefunguje nebo není správně nakonfigurováno. Debezium spotřebovává LSN k replikaci, takže to musí vygenerovat váš SQL Server.
Některé přístupy:
- Zkontrolovali jste, zda je u vašeho stolu povoleno CDC? Zobrazí se seznam vašich tabulek s povoleným 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
- Je vaše databáze CDC povolena a běží? (viz zde )
Zkontrolujte, zda je povoleno :
SELECT *
FROM sys.change_tracking_databases
WHERE database_id=DB_ID('MyDatabase')
A zkontrolujte, zda běží:
EXECUTE sys.sp_cdc_enable_db;
GO
- Běží vaše služba CDC na serveru SQL? Viz v dokumentech
EXEC sys.sp_cdc_start_job;
GO
- Při povolení tabulky v CDC jsem měl nějaké problémy s názvem role. V mém případě konfigurace na
null
vyřešil můj problém (další podrobnosti zde )
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