LSN आपके SQL सर्वर परिवर्तनों से संबंधित जानकारी का "टुकड़ा" है। यदि आपके पास एलएसएन नहीं है, तो संभव है कि आपका सीडीसी नहीं चल रहा है या ठीक से कॉन्फ़िगर नहीं किया गया है। डेबेज़ियम एलएसएन को दोहराने के लिए खपत करता है, इसलिए आपके SQL सर्वर को इसे उत्पन्न करने की आवश्यकता है।
कुछ दृष्टिकोण:
- क्या आपने जांच की है कि आपकी तालिका सीडीसी सक्षम है या नहीं? यह सीडीसी सक्षम के साथ आपकी तालिकाओं को सूचीबद्ध करेगा:
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
- आपका सीडीसी डेटाबेस सक्षम और चालू है? (देखें यहां )
जांचें कि क्या सक्षम :
SELECT *
FROM sys.change_tracking_databases
WHERE database_id=DB_ID('MyDatabase')
और जांचें कि क्या चल रहा है:
EXECUTE sys.sp_cdc_enable_db;
GO
- आपकी सीडीसी सेवा SQL सर्वर पर चल रही है? देखें दस्तावेज़ों में
EXEC sys.sp_cdc_start_job;
GO
- सीडीसी में तालिका को सक्षम करने पर, मुझे रोलनेम के साथ कुछ समस्याएं थीं। मेरे मामले के लिए,
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