共用方式為


sys.dm_change_feed_errors (Transact-SQL)

適用於: sql Server 2022 (16.x) Azure SQL 資料庫 azure Synapse Analytics Warehouse in Microsoft Fabric SQL Database Microsoft Fabric 中的 Azure Synapse Analytics 倉儲

從變更摘要、快照集或累加變更發佈程式傳回最近的錯誤

此動態管理檢視用於:

資料行名稱 資料類型 描述
session_id int 這是 session_id 記錄讀取器歷程記錄快取所維護的 。
source_task tinyint 內部變更摘要工作識別碼。
0 = UNDEFINED
1 = 定時器
2 = CAPTURE
3 = PUBLISH
4 = COMMIT
5 = SNAPSHOT
table_id int object_id相關資料表的 。
table_group_id uniqueidentifier 數據表群組的唯一標識碼。 這將是安裝程式流程所產生的 GUID。
capture_phase_number int 記錄讀取器掃描階段,如果擷取作業完成且發行/認可仍在進行中,則階段仍會保留在最後一次掃描中(批處理階段 7)。 如需詳細資訊,請參閱 batch_processing_phase sys.dm_change_feed_log_scan_sessions 不適用於快照集。
entry_time datetime 記錄錯誤的日期和時間。 此值會對應至 SQL 錯誤記錄檔中的時間戳。 在 SQL Server 中,這次是在當地時間報告。 在 Azure SQL 資料庫 中,時區為 UTC。
error_number int 錯誤訊息的識別碼。
error_severity int 訊息的嚴重性層級,介於 1 到 25 之間。
error_state int 錯誤的狀態編號。
error_message nvarchar(1024) 錯誤的訊息正文。
batch_start_lsn nvarchar(23) 啟動發生錯誤時所處理之數據列的 LSN 值。

0 = 錯誤未在記錄掃描工作階段內發生。
batch_end_lsn nvarchar(23) 發生錯誤時,正在處理之數據列的結束 LSN 值。

0 = 錯誤未在記錄掃描工作階段內發生。
tran_begin_lsn nvarchar(23) Begin_lsn 失敗交易的 。 將會 NULL 用於快照集錯誤。
tran_commit_lsn nvarchar(23) 針對發生失敗之變更數據列集中的變更數據列認可 LSN。 將會 NULL 用於快照集錯誤。
sequence_value nvarchar(23) 發生錯誤時所處理之數據列的 LSN 值。

0 = 錯誤未在記錄掃描工作階段內發生。
command_id int 無法發佈之變更數據列的命令標識碼。 將會 NULL 用於快照集錯誤。

備註

此 DMV 會顯示過去 32 個工作階段的錯誤。 一個工作階段可能包含多個錯誤,例如,登陸區域重試嘗試失敗。 此 DMV 也會顯示快照集和累加變更發佈程序期間所面臨的錯誤。

權限

需要 VIEW DATABASE STATE 或 VIEW DATABASE PERFORMANCE STATE 許可權,才能查詢 sys.dm_change_feed_errors 動態管理檢視。 如需動態管理檢視許可權的詳細資訊,請參閱 動態管理檢視和函式

在 Fabric SQL 資料庫中,用戶必須獲授與資料庫中的 VIEW DATABASE STATE,才能查詢此 DMV。 或者,Fabric 工作區可以查詢此 DMV 的任何角色成員。

範例

使用 sys.dm_change_feed_errors 來檢查是否有任何最近的錯誤。

SELECT * 
FROM sys.dm_change_feed_errors 
ORDER BY entry_time DESC;