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) |
Текущая стадия сеанса. Одно из следующих:
При 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