LSN adalah "potongan" informasi yang terkait tentang perubahan SQL Server Anda. Jika Anda tidak memiliki LSN, kemungkinan CDC Anda tidak berjalan atau tidak dikonfigurasi dengan benar. Debezium menggunakan LSN untuk mereplikasi, jadi, SQL Server Anda perlu membuat ini.
Beberapa pendekatan:
- Apakah Anda memeriksa apakah meja Anda dengan CDC diaktifkan? Ini akan mencantumkan tabel Anda dengan CDC diaktifkan:
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
- Database CDC Anda diaktifkan dan berjalan? (lihat di sini )
Periksa apakah diaktifkan :
SELECT *
FROM sys.change_tracking_databases
WHERE database_id=DB_ID('MyDatabase')
Dan periksa apakah sedang berjalan:
EXECUTE sys.sp_cdc_enable_db;
GO
- Layanan CDC Anda berjalan di SQL Server? Lihat dalam dokumen
EXEC sys.sp_cdc_start_job;
GO
- Saat mengaktifkan tabel di CDC, saya mengalami beberapa masalah dengan nama peran. Untuk kasus saya, konfigurasikan di
null
memecahkan masalah saya (detail lebih lanjut di sini )
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