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


sys.dm_cdc_log_scan_sessions (Transact-SQL)

Возвращает одну строку для каждого сеанса просмотра журнала в текущей базе данных. Последняя строка соответствует текущему сеансу. Данное представление можно использовать, чтобы получить сведения о состоянии текущего сеанса просмотра журнала либо статистические сведения обо всех сеансах с момента последнего запуска SQL Server.

Имя столбца

Тип данных

Описание

session_id

int

Идентификатор сеанса.

Значение 0 в данной строке означает, что возвращаемые данные представляют собой статистику всех сеансов с момента последнего запуска SQL Server. 

start_time

datetime

Время начала сеанса.

При session_id = 0 содержит время начала сбора статистики.

end_time

datetime

Время окончания сеанса.

NULL = сеанс активен.

При session_id = 0 содержит время окончания последнего сеанса.

duration

bigint

Продолжительность сеанса в секундах.

Значение 0 означает, что сеанс не содержит транзакций системы отслеживания измененных данных.

При session_id = 0 содержит суммарную длительность (в секундах) всех сеансов, содержащих транзакции системы отслеживания измененных данных.

scan_phase

nvarchar(200)

Текущая стадия сеанса. Одно из следующих:

Стадия

Описание

1

Считывание конфигурации

2

Первый просмотр, построение хэш-таблицы.

3

Второй просмотр

4

Второй просмотр

5

Второй просмотр

6

Определение версиями схемы

7

Последний просмотр

8

Готово

При server_id = 0, это значение всегда имеет значение "Aggregate" (статистика).

error_count

int

Количество обнаруженных ошибок.

При session_id = 0 содержит общее количество ошибок во всех сеансах.

start_lsn

nvarchar(23)

Начальный номер LSN для сеанса.

При session_id = 0 содержит начальный номер LSN последнего сеанса.

current_lsn

nvarchar(23)

Текущий номер LSN, который был просмотрен.

При session_id = 0 текущий номер LSN равен 0.

end_lsn

nvarchar(23)

Конечный номер LSN сеанса.

NULL = сеанс активен.

При session_id = 0 содержит конечный номер LSN последнего сеанса.

tran_count

bigint

Количество проведенных транзакций системы отслеживания измененных данных. Этот счетчик заполняется на второй стадии.

При session_id = 0 содержит количество транзакций, проведенных в течение всех сеансов.

last_commit_lsn

nvarchar(23)

Номер LSN последней обработанной записи в журнале фиксирования.

При session_id = 0 содержит номер LSN последней записи в журнале фиксирования для любого сеанса.

last_commit_time

datetime

Время последней обработки записи в журнале фиксирования.

При session_id = 0 содержит время последней обработки записи в журнале фиксирования для любого сеанса.

log_record_count

bigint

Количество просмотренных записей журнала.

При session_id = 0 содержит количество просмотренных записей журнала во всех сеансах.

schema_change_count

int

Количество обнаруженных операций языка DDL. Значение данного счетчика заполняется на шестой стадии.

При session_id = 0 содержит количество операций языка DDL, проведенных в течение всех сеансов.

command_count

bigint

Количество выполненных команд.

При session_id = 0 содержит количество команд, выполненных в течение всех сеансов.

first_begin_cdc_lsn

nvarchar(23)

Первый номер LSN, содержащий транзакции системы отслеживания измененных данных.

При session_id = 0 содержит первый номер LSN, содержащий транзакции системы отслеживания измененных данных.

last_commit_cdc_lsn

nvarchar(23)

Номер LSN последней записи в журнале фиксирования, содержащей транзакции системы отслеживания измененных данных.

При session_id = 0 содержит номер LSN последней записи в журнале фиксирования, содержащей транзакции системы отслеживания измененных данных для любого сеанса.

last_commit_cdc_time

datetime

Время обработки последней записи в журнале фиксирования, содержащей транзакции системы отслеживания измененных данных.

При session_id = 0 содержит время обработки последней записи в журнале фиксирования, содержащей транзакции системы отслеживания измененных данных для любого сеанса.

latency

int

Разница (в секундах) между значениями end_time и last_commit_cdc_time данного сеанса. Этот счетчик заполняется в конце седьмой стадии.

При session_id = 0 содержит последнее ненулевое значение задержки, записанное сеансом.

empty_scan_count

int

Количество последовательных сеансов, не содержащих транзакций системы отслеживания измененных данных.

failed_sessions_count

int

Число сеансов, завершившихся неудачно.

Замечания

Значения в этом динамическом административном представлении сбрасываются при каждом запуске SQL Server.

Разрешения

Для работы с динамическим административным представлением sys.dm_cdc_log_scan_sessions требуется разрешение VIEW DATABASE STATE. Дополнительные сведения о предоставлении разрешений для динамических административных представлений см. в разделе Динамические административные представления и функции (Transact-SQL).

Примеры

В следующем примере возвращается информация о самом последнем сеансе.

USE AdventureWorks2012;
GO
SELECT session_id, start_time, end_time, duration, scan_phase
    error_count, start_lsn, current_lsn, end_lsn, tran_count
    last_commit_lsn, last_commit_time, log_record_count, schema_change_count
    command_count, first_begin_cdc_lsn, last_commit_cdc_lsn, 
    last_commit_cdc_time, latency, empty_scan_count, failed_sessions_count
FROM sys.dm_cdc_log_scan_sessions
WHERE session_id = (SELECT MAX(b.session_id) FROM sys.dm_cdc_log_scan_sessions AS b);
GO

См. также

Справочник

sys.dm_cdc_errors (Transact-SQL)