sys.dm_change_feed_errors (Transact-SQL)

Berlaku untuk: SQL Server 2022 (16.x) dan versi yang lebih baru Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsDatabase cermin di database Microsoft FabricSQL di Microsoft Fabric

Mengembalikan kesalahan terbaru dari umpan perubahan, rekam jepret, atau proses penerbitan perubahan bertahap.

Gunakan tampilan manajemen dinamis ini untuk:

Tampilan ini hanya mengembalikan baris ketika salah satu fitur sebelumnya dikonfigurasi dan telah mencatat kesalahan. Jika tidak, tampilan akan kosong.

Nama kolom Jenis data Deskripsi
session_id int Cache session_id riwayat yang dikelola oleh pembaca log.
source_task tinyint ID tugas umpan perubahan internal.
0 = TIDAK DITENTUKAN
1 = PENGATUR WAKTU
2 = TANGKAP
3 = TERBITKAN
4 = PENERAPAN
5 = REKAM JEPRET
table_id int Tabel object_id yang relevan.
table_group_id uniqueidentifier Pengidentifikasi unik grup tabel. Ini adalah GUID yang dihasilkan oleh alur setup.
capture_phase_number int Fase pemindaian pembaca log. Jika pekerjaan penangkapan selesai tetapi pekerjaan publish atau commit masih berlangsung, nomor fase tetap pada pemindaian terakhir (fase pemrosesan batch 7). Untuk informasi selengkapnya, lihat batch_processing_phase di sys.dm_change_feed_log_scan_sessions. Kolom ini tidak berlaku untuk snapshot.
entry_time datetime Tanggal dan waktu ketika kesalahan dicatat. Nilai ini sesuai dengan tanda waktu di log kesalahan SQL. Di SQL Server, waktu ini dilaporkan dalam waktu lokal. Di Azure SQL Database, zona waktunya adalah UTC.
error_number int ID pesan kesalahan.
error_severity int Tingkat keparahan pesan, antara 1 dan 25.
error_state int Nomor status kesalahan.
error_message nvarchar(1024) Teks pesan kesalahan.
batch_start_lsn nvarchar(23) Memulai nilai LSN dari baris yang sedang diproses saat kesalahan terjadi.

0 = kesalahan tidak terjadi dalam sesi pemindaian log.
batch_end_lsn nvarchar(23) Akhiri nilai LSN dari baris yang sedang diproses saat kesalahan terjadi.

0 = kesalahan tidak terjadi dalam sesi pemindaian log.
tran_begin_lsn nvarchar(23) Begin_lsn transaksi yang gagal. Ini untuk NULL kesalahan snapshot.
tran_commit_lsn nvarchar(23) Terapkan LSN untuk baris perubahan dalam kumpulan baris data perubahan tempat kegagalan terjadi. Ini untuk NULL kesalahan snapshot.
sequence_value nvarchar(23) Nilai LSN dari baris yang sedang diproses saat kesalahan terjadi.

0 = kesalahan tidak terjadi dalam sesi pemindaian log.
command_id int ID Perintah dari baris perubahan yang gagal diterbitkan. Ini untuk NULL kesalahan snapshot.

Keterangan

DMV ini menampilkan hingga 64 kesalahan terakhir yang tercatat. DMV mungkin mencakup beberapa kesalahan per sesi pemindaian log, seperti upaya percobaan ulang pada kegagalan zona pendaratan (kegagalan menulis ke penyimpanan staging tempat feed perubahan mempublikasikan perubahan). DMV ini juga menunjukkan kesalahan yang terjadi selama proses snapshot dan incremental change publish.

Daftar kesalahan akan berotasi otomatis. Kesalahan baru mendorong keluar entri sebelumnya. Kesalahan yang berhenti muncul tetap ada sampai kesalahan baru mengeluarkannya atau daftar benar-benar hilang. Daftar kesalahan disimpan di memori SQL, sehingga event seperti restart mesin SQL, atau menonaktifkan feed perubahan, akan menghapusnya.

Permissions

Untuk melakukan query pada sys.dm_change_feed_errors tampilan manajemen dinamis, Anda memerlukan VIEWDATABASE izin STATE atau VIEWDATABASE PERFORMANCE STATE. Untuk informasi selengkapnya tentang izin tentang tampilan manajemen dinamis, lihat Tampilan dan Fungsi Manajemen Dinamis.

Dalam database Fabric SQL, pengguna harus diberikan VIEWDATABASE STATE dalam database untuk mengkueri DMV ini. Atau, anggota dari peran mana pun di ruang kerja Fabric dapat melakukan query ke DMV ini.

Examples

Gunakan sys.dm_change_feed_errors untuk memeriksa kesalahan terbaru.

SELECT * 
FROM sys.dm_change_feed_errors 
ORDER BY entry_time DESC;