Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
databáze SQL v Microsoft Fabric
Vrátí jeden řádek, který zobrazuje informace o stavu transakce v aktuální relaci.
Poznámka:
Pro volání z Azure Synapse Analytics nebo Analytics Platform System (PDW) použijte název sys.dm_pdw_nodes_tran_current_transaction. Tato syntaxe není podporována bezserverovým fondem SQL ve službě Azure Synapse Analytics.
Syntaxe
sys.dm_tran_current_transaction
Vrácená tabulka
| Název sloupce | Datový typ | Description |
|---|---|---|
| transaction_id | bigint | ID transakce aktuálního snímku. |
| transaction_sequence_num | bigint | Pořadové číslo transakce, která generuje verzi záznamu. |
| transaction_is_snapshot | bit | Stav izolace snímku. Tato hodnota je 1, pokud je transakce zahájena v izolaci snapshotu. Jinak je hodnota 0. |
| first_snapshot_sequence_num | bigint | Nejnižší sekvenční číslo transakcí z transakcí, které byly aktivní v době pořízení snapshotu. Při provedení snapshot transakce pořídí snímek všech aktivních transakcí v daném okamžiku. Pro transakce bez snapshotů tento sloupec ukazuje 0. |
| last_transaction_sequence_num | bigint | Globální pořadové číslo. Tato hodnota představuje poslední sekvenční číslo transakce, které systém generoval. |
| first_useful_sequence_num | bigint | Globální pořadové číslo. Tato hodnota představuje nejstarší sekvenční číslo transakce transakce, která má verze, jež musí být uloženy ve skladu verzí. Verze řádků vytvořené předchozími transakcemi lze odstranit. |
| pdw_node_id | int |
Platí na: Azure Synapse Analytics, Analytics Platform System (PDW) Identifikátor uzlu, na který je tato distribuce zapnutá. |
Povolení
Na SQL Serveru a službě SQL Managed Instance vyžaduje VIEW SERVER STATE oprávnění.
U cílů služby SQL Database Basic, S0 a S1 a pro databáze v elastických fondech se vyžaduje účet správce serveru , účet správce Microsoft Entra nebo členství v ##MS_ServerStateReader##roli serveru . U všech ostatních cílů VIEW DATABASE STATE služby SQL Database se vyžaduje buď oprávnění k databázi, nebo členství v ##MS_ServerStateReader## roli serveru.
Oprávnění pro SQL Server 2022 a novější
Vyžaduje oprávnění ZOBRAZIT STAV VÝKONU SERVERU na serveru.
Examples
Následující příklad používá testovací scénář, ve kterém v databázi běží čtyři souběžné transakce, každá označená sekvenčním číslem transakce (XSN), která má nastavené možnosti ALLOW_SNAPSHOT_ISOLATION a READ_COMMITTED_SNAPSHOT na ON. Probíhají následující transakce:
XSN-57 je aktualizační operace v rámci serializovatelné izolace.
XSN-58 je stejný jako XSN-57.
XSN-59 je vybraná operace při izolaci snímků.
XSN-60 je stejný jako XSN-59.
Následující dotaz je vykonán v rámci každé transakce.
SELECT
transaction_id
,transaction_sequence_num
,transaction_is_snapshot
,first_snapshot_sequence_num
,last_transaction_sequence_num
,first_useful_sequence_num
FROM sys.dm_tran_current_transaction;
Zde je výsledek pro XSN-59.
transaction_id transaction_sequence_num transaction_is_snapshot
-------------------- ------------------------ -----------------------
9387 59 1
first_snapshot_sequence_num last_transaction_sequence_num
--------------------------- -----------------------------
57 61
first_useful_sequence_num
-------------------------
57
Výstup ukazuje, že XSN-59 je snapshot transakce, která používá XSN-57 jako první transakci aktivní při spuštění XSN-59. To znamená, že XSN-59 čte data potvrzená transakcemi s pořadovým číslem menším než XSN-57.
Zde je výsledek pro XSN-57.
transaction_id transaction_sequence_num transaction_is_snapshot
-------------------- ------------------------ -----------------------
9295 57 0
first_snapshot_sequence_num last_transaction_sequence_num
--------------------------- -----------------------------
NULL 61
first_useful_sequence_num
-------------------------
57
Protože XSN-57 není snapshot transakce, first_snapshot_sequence_num je .NULL
Viz také
Zobrazení a funkce dynamické správy (Transact-SQL)
Transakčně orientovaná dynamická správa pohledů a funkcí (Transact-SQL)