sql >> Databasteknik >  >> RDS >> Sqlserver

Debezium:Inget maximalt LSN registrerat i databasen; Se till att SQL Server Agent körs

LSN är "bitarna" av information relaterad till dina SQL Server-ändringar. Om du inte har LSN, är det möjligt att din CDC inte körs eller inte är korrekt konfigurerad. Debezium förbrukar LSN:er för att replikera så din SQL Server måste generera detta.

Några tillvägagångssätt:

  1. Har du kontrollerat om din tabell är med CDC aktiverat? Detta kommer att lista dina tabeller med CDC aktiverat:
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
  1. Är din CDC-databas aktiverad och igång? (se här )

Kontrollera om aktiverat :

SELECT * 
FROM sys.change_tracking_databases 
WHERE database_id=DB_ID('MyDatabase')

Och kontrollera om körs:

EXECUTE sys.sp_cdc_enable_db;  
GO  
  1. Körs din CDC-tjänst på SQL Server? Se i dokument
EXEC sys.sp_cdc_start_job;  
GO  
  1. När jag aktiverade tabellen i CDC hade jag några problem med rollnamn. För mitt fall, konfigurering vid null löste mitt problem (mer information här )
    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


  1. Passerar array genom AJAX från php till javascript

  2. Vilken .NET-datatyp är bäst för att kartlägga datatypen NUMBER Oracle i NHibernate?

  3. MySQL-fel:1395 Kan inte radera från join-vyn

  4. Att göra en databastabell i SQL, konstigt fel