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 AdventureWorks2008R2;
GO
SELECT *
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