Bu yazımda veritabanlarımızın ve açık olan bir session'ın Isolation Level'ının ne olduğuna değineceğim.
Bağlı olunan veritabanın Isolation Level'ını aşağıdaki dbcc komutu ile alabilirsiniz:
dbcc useroptions
SQL Server veritabanlarınızın Snapshot Isolation durumunu ve Read Committed Snapshot'ın açık olup olmadığını aşağıdaki sorgu ile bulabilirsiniz:
select name, snapshot_isolation_state_desc, is_read_committed_snapshot_on
from sys.databases
Yukarıdaki sorgu sayesinde master ve msdb sistem veritabanlarında Snapshot Isolation'ın açık olduğunu göreceksiniz.
Üzerinde çalıştığınız veritabanın Snapshot Isolation durumunu ve Read Committed Snapshot'ın açık olup olmadığını aşağıdaki sorgu ile bulabilirsiniz:
select name, snapshot_isolation_state_desc, is_read_committed_snapshot_on
from sys.databases
where database_id=db_id()
SQL Server'da açmış olduğunuz session'ın Isolation Level bilgisini ise aşağıdaki SQL ile bulabilirsiniz:
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'
else '?'
end as TransactionIsolationLevel
from sys.dm_exec_sessions
where session_id=@@spid
Yukarıdaki sorguda @@spid değişkeni yerine istediğiniz spid değerini vererek merak ettiğiniz herhangi bir SQL Server session'ın Isolation Level'ını bulabilirsiniz.
Bir sonraki yazıda görüşmek dileğiyle hoşçakalın.
Hiç yorum yok:
Yorum Gönder