SQL Server, объект Transactions
Область применения: SQL Server
Объект Transactions в Microsoft SQL Server предоставляет счетчики для отслеживания количества транзакций, активных в экземпляре ядро СУБД, и эффекты этих транзакций на ресурсы, такие как хранилище tempdb
версий изоляции моментальных снимков. Транзакции представляют собой логические блоки проделанной работы — наборы операций, которые должны либо все завершиться успешно, либо быть стертыми из базы данных, чтобы соблюсти логическую целостность данных. Все изменения данных в базах данных SQL Server выполняются в транзакциях.
Если для базы данных задан уровень изоляции моментальных снимков, SQL Server должен хранить запись изменений, внесенных в каждую строку в базе данных. Каждый раз при изменении строки копия строки, как она существовала до записи изменения в хранилище версий строк.tempdb
Многие счетчики в объекте Transactions также можно применять для мониторинга размера и скорости роста хранилища версий строк в tempdb
.
Счетчики объектов Transactions сообщают обо всех транзакциях в одном экземпляре ядро СУБД.
В этой таблице перечислены счетчики SQLServer:Transactions .
Счетчики Transactions в SQL Server | Description |
---|---|
Свободное пространство в базе данных tempdb (КБ) | Объем пространства (в килобайтах), доступный в tempdb . Достаточно свободного места для хранения хранилища версий уровня изоляции моментальных снимков и всех новых временных объектов, созданных в этом экземпляре ядро СУБД. |
Наиболее продолжительное время выполнения транзакции | Время (в секундах) с момента запуска транзакции, которая оставалась активной дольше любой другой текущей транзакции. Этот счетчик показывает только действия, произошедшие при базе данных на уровне изоляции зафиксированной операции чтения с моментальным снимком. Он не регистрирует других действий, если база данных находится в другом уровне изоляции. |
Транзакций версий без снимков | Количество активных транзакций, которые не используют уровень изоляции моментальных снимков и внесли изменения данных, которые создали версии строк в tempdb хранилище версий. |
Транзакции моментальных снимков | Число активных в настоящий момент транзакций, которые используют уровень изоляции моментальных снимков. Примечание. Счетчик объекта Snapshot Transactions возвращает данные о том, когда произошло первое обращение к данным, а не когда была выполнена инструкция BEGIN TRANSACTION . |
Транзакции | Число активных в настоящее время транзакций любого типа. |
Коэффициент конфликтов обновления | Процент транзакций, использующих уровень изоляции моментальных снимков, которые столкнулись с конфликтами обновления за последнюю секунду. Конфликт обновления возникает, когда транзакция уровня изоляции моментальных снимков пытается изменить строку, которая в последний раз была изменена другой транзакцией, незафиксированной на момент запуска транзакции уровня изоляции снимков. |
База коэффициента обновления конфликтов | Только для внутреннего пользования. |
Транзакции обновления моментальных снимков | Число активных в настоящий момент транзакций, которые используют уровень изоляции моментальных снимков и содержат измененные данные. |
Скорость очистки версий (КБ/с) | Скорость (в килобайтах в секунду), при которой версии строк удаляются из хранилища версий изоляции моментальных снимков.tempdb |
Скорость создания версий (КБ/с) | Скорость (в килобайтах в секунду), при которой новые версии строк добавляются в хранилище версий изоляции моментальных снимков.tempdb |
Размер хранилища версий (KБ) | Объем пространства (в килобайтах) для tempdb хранения версий строк уровня изоляции моментальных снимков. |
Счетчик блоков хранилища версий | Количество активных единиц выделения в хранилище tempdb версий изоляции моментальных снимков. |
Создано блоков хранилища версий | Количество единиц выделения, созданных в хранилище изоляции моментальных снимков с момента запуска экземпляра ядро СУБД. |
Усечено блоков хранилища версий | Количество единиц выделения, которые были удалены из хранилища изоляции моментальных снимков с момента запуска экземпляра ядро СУБД. |
Пример
Вы начинаете изучать счетчики производительности запросов в этом объекте, используя этот запрос T-SQL в динамическом административном представлении sys.dm_os_performance_counters:
SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Transactions%';