2012-01-26

Veritabanım yada Session'ım Hangi Isolation Level'da?

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:

.::YASAL UYARI::.

©2004-2023 Mehmet GÜZEL, www.mehmetguzel.net

Site içeriği kaynak gösterilmek koşuluyla yayınlanabilir. Yazılan yazı ve yorumlar sadece yazı ve yorum sahiplerini bağlar.