Jak znaleźć poziom transakcji bieżącej bazy danych na serwerze SQL?
155
Jak znaleźć poziom transakcji bieżącej bazy danych na serwerze SQL?
Uruchom to:
SELECT CASE transaction_isolation_level
WHEN 0 THEN 'Unspecified'
WHEN 1 THEN 'ReadUncommitted'
WHEN 2 THEN 'ReadCommitted'
WHEN 3 THEN 'Repeatable'
WHEN 4 THEN 'Serializable'
WHEN 5 THEN 'Snapshot' END AS TRANSACTION_ISOLATION_LEVEL
FROM sys.dm_exec_sessions
where session_id = @@SPID
Dokumentacja docs.microsoft.com dotycząca wartości stałych .
READ_COMMITTED_SNAPSHOT
nie jest poziomem izolacji, to opcja bazy danych pozwalająca na zmianę zachowaniaReadDCommitted
poziomu izolacji w całej bazie danychpo prostu biegnij,
DBCC useroptions
a otrzymasz coś takiego:źródło
źródło
źródło
Jeśli mówisz o obecnym poziomie zagnieżdżenia transakcji , użyj
@@TRANCOUNT
.Jeśli mówisz o poziomie izolacji transakcji , użyj
DBCC USEROPTIONS
i poszukaj opcji poziomu izolacji . Jeśli nie jest ustawiona, oznacza to, że została przeczytana .źródło
DBCC USEROPTIONS
jest ustawiony na „odczyt