sql >> Databáze >  >> RDS >> Sqlserver

Debezium:V databázi není zaznamenáno žádné maximální LSN; ujistěte se, že je spuštěn SQL Server Agent

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:

  1. 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
  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  
  1. Běží vaše služba CDC na serveru SQL? Viz v dokumentech
EXEC sys.sp_cdc_start_job;  
GO  
  1. 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


  1. Vrátit všechny řádky z poddotazu SQL?

  2. Oracle považuje prázdné řetězce za NULL, zatímco SQL Server ne – jak je to nejlepší?

  3. Mám se držet pouze AWS RDS Automated Backup nebo DB Snapshots?

  4. Instalace MADlib apt, jak na to?