Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Database w Microsoft Fabric
Zwraca wirtualną tabelę dla obiektów, które generują najwięcej wersji w magazynie wersji. sys.dm_tran_top_version_generators zwraca 256 największych zagregowanych długości płyt pogrupowanych według database_id i rowset_id. sys.dm_tran_top_version_generators pobiera dane, zapytując dm_tran_version_store wirtualną tabelę. sys.dm_tran_top_version_generators jest nieefektywny widok, ponieważ ten widok zapytuje magazyn wersji, a magazyn wersji może być bardzo duży. Zalecamy użycie tej funkcji, aby znaleźć największych konsumentów sklepu z wersjami.
Uwaga / Notatka
Aby wywołać to z Azure Synapse Analytics lub Analytics Platform System (PDW), użyj nazwy sys.dm_pdw_nodes_tran_top_version_generators. Ta składnia nie jest obsługiwana przez bezserwerową pulę SQL w usłudze Azure Synapse Analytics.
Składnia
sys.dm_tran_top_version_generators
Zwracana tabela
| Nazwa kolumny | Typ danych | Description |
|---|---|---|
| database_id | int | Identyfikator bazy danych. W usłudze Azure SQL Database wartości są unikatowe w ramach pojedynczej bazy danych lub elastycznej puli, ale nie w obrębie serwera logicznego. |
| rowset_id | bigint | Identyfikator zestawu wierszy. |
| aggregated_record_length_in_bytes | int | Suma długości płyt dla każdego database_id i rowset_id pary w magazynie wersji. |
| pdw_node_id | int |
Dotyczy do: Azure Synapse Analytics, Analytics Platform System (PDW) Identyfikator węzła, w ramach którego znajduje się ta dystrybucja. |
Permissions
W programie SQL Server i usłudze SQL Managed Instance wymagane jest VIEW SERVER STATE uprawnienie.
W przypadku celów usługi SQL Database Basic, S0 i S1 oraz baz danych w elastycznych pulach wymagane jest konto administratora serwera , konto administratora firmy Microsoft Entra lub członkostwo w ##MS_ServerStateReader##roli serwera . We wszystkich innych celach usługi SQL Database wymagane VIEW DATABASE STATE jest uprawnienie do bazy danych lub członkostwo w ##MS_ServerStateReader## roli serwera.
Uprawnienia dla programu SQL Server 2022 i nowszych
Wymaga uprawnienia WYŚWIETL STAN WYDAJNOŚCI SERWERA na serwerze.
Uwagi
Ponieważ sys.dm_tran_top_version_generators może być konieczne do odczytania wielu stron podczas skanowania całego magazynu wersji, uruchomienie sys.dm_tran_top_version_generators może zakłócać wydajność systemu.
Przykłady
Poniższy przykład wykorzystuje scenariusz testowy, w którym cztery równoległe transakcje, każda oznaczona numerem sekwencji transakcji (XSN), są uruchamiane w bazie danych, w której opcje ALLOW_SNAPSHOT_ISOLATION i READ_COMMITTED_SNAPSHOT są ustawione na ON. Następujące transakcje są w trakcie:
XSN-57 to operacja aktualizacji w izolacji serializowanej.
XSN-58 jest tym samym co XSN-57.
XSN-59 to operacja selekcyjna w izolacji migawkowej.
XSN-60 jest tym samym co XSN-59.
Wykonywane jest następujące zapytanie.
SELECT
database_id,
rowset_id,
aggregated_record_length_in_bytes
FROM sys.dm_tran_top_version_generators;
Oto zestaw wyników.
database_id rowset_id aggregated_record_length_in_bytes
----------- -------------------- ---------------------------------
9 72057594038321152 87
9 72057594038386688 33
Wynik pokazuje, że wszystkie wersje są tworzone przez i database_id``9 że wersje generują się z dwóch tabel.
Zobacz także
dynamiczne widoki zarządzania i funkcje (Transact-SQL)
Dynamiczne Widoki Zarządzania i Funkcje Związane z Transakcjami (Transact-SQL)