Поделиться через


sys.dm_change_feed_errors (Transact-SQL)

Область применения: SQL Server 2022 (16.x) База данных SQL Azure хранилище Azure Synapse Analytics в базе данных SQL Microsoft Fabric в Microsoft Fabric

Возвращает последние ошибки из канала изменений, моментального снимка или добавочных процессов публикации изменений

Для этого динамического административного представления используется следующее:

Имя столбца Тип данных Description
session_id int Это session_id, который поддерживается кэшем средства чтения журнала.
source_task tinyint Внутренний идентификатор задачи канала изменений.
0 = НЕ ОПРЕДЕЛЕНО.
1 = ТАЙМЕР
2 = ЗАПИСЬ
3 = ПУБЛИКАЦИЯ
4 = ФИКСАЦИЯ
5 = МОМЕНТАЛЬНЫЙ СНИМОК
table_id int object_id соответствующей таблицы.
table_group_id uniqueidentifier Уникальный идентификатор группы таблиц. Это будет GUID, созданный потоком установки.
capture_phase_number int Этап сканирования средства чтения журнала. Если задание записи завершено и публикация или фиксация все еще выполняется, этап по-прежнему остается на последнем этапе сканирования (этап пакетной обработки 7). Дополнительные сведения см. в разделе batch_processing_phasesys.dm_change_feed_log_scan_sessions. Не применяется к моментальному снимку.
entry_time datetime Дата и время регистрации ошибки. Это значение соответствует отметке времени в журнале ошибок SQL. В SQL Server это время создает отчеты по стандартам местного времени. В Базе данных SQL Azure часовой пояс — 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 для ошибок моментального снимка.

Замечания

В этом динамическом административном представлении отображаются ошибки из последних 32 сеансов. Один сеанс может включать несколько ошибок, например повторные попытки при сбоях целевой зоны. В этом динамическом административном представлении также отображаются ошибки, возникающие во время создания моментального снимка и процесса публикации добавочных изменений.

Разрешения

Требуется разрешение VIEW DATABASE STATE или VIEW DATABASE PERFORMANCE STATE для запроса динамического административного sys.dm_change_feed_errors представления. Более подробные сведения о разрешениях динамических административных представлений см. в разделе Динамические административные представления и функции.

В базе данных SQL Fabric пользователю необходимо предоставить представление состояния базы данных в базе данных для запроса этого динамического административного представления. Кроме того, член любой роли рабочей области Fabric может запрашивать это динамическое административное представление.

Примеры

Используется sys.dm_change_feed_errors для проверки последних ошибок.

SELECT * 
FROM sys.dm_change_feed_errors 
ORDER BY entry_time DESC;