How to detect READ_COMMITTED_SNAPSHOT is enabled?

后端 未结 3 721
醉话见心
醉话见心 2020-12-22 16:35

In MS SQL Server is there a way to detect whether a database has had its isolation level set via the T-SQL command ALTER DATABASE SET READ_COMMITTED_S

相关标签:
3条回答
  • 2020-12-22 17:35
    1. As per https://msdn.microsoft.com/en-us/library/ms180065.aspx, "DBCC USEROPTIONS reports an isolation level of 'read committed snapshot' when the database option READ_COMMITTED_SNAPSHOT is set to ON and the transaction isolation level is set to 'read committed'. The actual isolation level is read committed."

    2. Also in SQL Server Management Studio, in database properties under Options->Miscellaneous there is "Is Read Committed Snapshot On" option status

    0 讨论(0)
  • 2020-12-22 17:36

    Neither on SQL2005 nor 2012 does DBCC USEROPTIONS show is_read_committed_snapshot_on:

    Set Option  Value
    textsize    2147483647
    language    us_english
    dateformat  mdy
    datefirst   7
    lock_timeout    -1
    quoted_identifier   SET
    arithabort  SET
    ansi_null_dflt_on   SET
    ansi_warnings   SET
    ansi_padding    SET
    ansi_nulls  SET
    concat_null_yields_null SET
    isolation level read committed
    
    0 讨论(0)
  • 2020-12-22 17:38
    SELECT is_read_committed_snapshot_on FROM sys.databases 
    WHERE name= 'YourDatabase'
    

    Return value:

    • 1: READ_COMMITTED_SNAPSHOT option is ON. Read operations under the READ COMMITTED isolation level are based on snapshot scans and do not acquire locks.
    • 0 (default): READ_COMMITTED_SNAPSHOT option is OFF. Read operations under the READ COMMITTED isolation level use Shared (S) locks.
    0 讨论(0)
提交回复
热议问题