Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Debezium:Tidak ada LSN maksimum yang tercatat dalam database; harap pastikan bahwa Agen Server SQL sedang berjalan

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:

  1. 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
  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  
  1. Layanan CDC Anda berjalan di SQL Server? Lihat dalam dokumen
EXEC sys.sp_cdc_start_job;  
GO  
  1. 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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Coba_Konversi untuk SQL Server 2008 R2

  2. Tambahkan kolom ke tabel dan kemudian perbarui di dalam transaksi

  3. Bagaimana membandingkan datetime dengan hanya tanggal di SQL Server

  4. SQL Server, menggabungkan LIKE dan IN?

  5. Cari Tahu Partisi Mana Nilai yang Diberikan Akan Dipetakan ke dalam SQL Server (T-SQL)