sql >> Database teknologi >  >> RDS >> Sqlserver

Debezium:Ingen maksimal LSN registreret i databasen; Sørg for, at SQL Server Agent kører

LSN er "stykkerne" af information relateret til dine SQL Server-ændringer. Hvis du ikke har LSN, er det muligt, at din CDC ikke kører eller ikke er konfigureret korrekt. Debezium bruger LSN'er for at replikere, så din SQL Server skal generere dette.

Nogle tilgange:

  1. Har du tjekket, om din tabel er med CDC aktiveret? Dette vil vise dine tabeller med CDC aktiveret:
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. Er din CDC-database aktiveret og kører? (se her )

Tjek, om aktiveret :

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

Og tjek om kører:

EXECUTE sys.sp_cdc_enable_db;  
GO  
  1. Kører din CDC-tjeneste på SQL Server? Se i dokumenter
EXEC sys.sp_cdc_start_job;  
GO  
  1. Ved aktivering af tabel i CDC havde jeg nogle problemer med rollenavn. For mit tilfælde, konfiguration på null løste mit problem (flere detaljer her )
    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. Udførelse af simpel aritmetik i MySQL-sætning eller i PHP-kode

  2. PHP MySQL - Sådan indsætter du standardværdi i en forberedt erklæring

  3. Hvordan kan jeg ændre en primær nøglebegrænsning ved hjælp af SQL-syntaks?

  4. Hvordan kan jeg generere dynamiske diagrammer med MySQL-data?