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


sys.dm_tran_top_version_generators

Возвращает виртуальную таблицу для объектов, формирующих большинство версий в хранилище версий. Представление sys.dm_tran_top_version_generators возвращает первые 256 значений длины записей, сгруппированных по полям database_id и rowset_id. Представление sys.dm_tran_top_version_generators находит данные с помощью запроса к виртуальной таблице dm_tran_version_store. Представление sys.dm_tran_top_version_generators является неэффективным представлением, потому что оно выполняет запрос к хранилищу версий, которое может быть очень большим. Эту функцию рекомендуется использовать для поиска самых крупных потребителей в хранилище версий.

Синтаксис

sys.dm_tran_top_version_generators

Возвращаемая таблица

Имя столбца

Тип данных

Описание

database_id

int

Идентификатор базы данных.

rowset_id

bigint

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

aggregated_record_length_in_bytes

int

Сумма длин записей для каждой пары database_id и rowset_id pair в хранилище версий.

Разрешения

Необходимо разрешение VIEW SERVER STATE на сервере.

Замечания

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

Примеры

Следующий пример использует тестовый сценарий, содержащий четыре параллельные транзакции, идентифицированные порядковыми номерами (XSN), который выполняется в базе данных с параметрами ALLOW_SNAPSHOT_ISOLATION и READ_COMMITTED_SNAPSHOT, установленными в значение ON. Следующие транзакции запущены:

  • XSN-57 является операцией обновления с сериализуемой изоляцией.

  • XSN-58 аналогична XSN-57.

  • XSN-59 является операцией выбора с изоляцией моментального снимка.

  • XSN-60 аналогична XSN-59.

Выполнен следующий запрос.

SELECT
    database_id,
    rowset_id,
    aggregated_record_length_in_bytes
  FROM sys.dm_tran_top_version_generators;

Ниже приводится результирующий набор.

database_id rowset_id            aggregated_record_length_in_bytes
----------- -------------------- ---------------------------------
9           72057594038321152    87
9           72057594038386688    33

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