READ_COMMITTED_SNAPSHOT가 활성화되어 있는지 감지하는 방법은 무엇입니까?


130

MS SQL Server에는 데이터베이스가 T-SQL 명령을 통해 격리 수준을 설정했는지 여부를 감지하는 방법이 있습니다 ALTER DATABASE <database> SET READ_COMMITTED_SNAPSHOT ON;

T-SQL 또는 Management Studio의 GUI를 통해이를 감지하는 간단한 방법을 찾을 수 없습니다.

티아

답변:


194
SELECT is_read_committed_snapshot_on FROM sys.databases 
WHERE name= 'YourDatabase'

반환 값 :

  • 1 : READ_COMMITTED_SNAPSHOT옵션이 ON 입니다. READ COMMITTED격리 수준의 읽기 작업 은 스냅 샷 검색을 기반으로하며 잠금을 획득하지 않습니다.
  • 0 (기본값) : READ_COMMITTED_SNAPSHOT옵션이 OFF 입니다. READ COMMITTED격리 수준의 읽기 작업은 공유 (S) 잠금을 사용 합니다.

7
나는 기억하기 쉬운 "DBCC USEROPTIONS"를 좋아한다.
— ProVega

5
@ProVega-DBCC USEROPTIONS는 is_read_committed_snapshot_on의 값을 반환하지 않습니다.
— Carsten Schütte

3
  1. 당으로 https://msdn.microsoft.com/en-us/library/ms180065.aspx , "DBCC USEROPTIONS 데이터베이스 옵션 READ_COMMITTED_SNAPSHOT이 ON으로 설정하고 트랜잭션 격리 수준이 될 때의 격리 수준이 '최선을 다하고 스냅 샷을 읽어'보고 "읽기 커밋"으로 설정했습니다. 실제 격리 수준은 읽기 커밋됩니다. "

  2. 또한 SQL Server Management Studio의 옵션-> 기타에있는 데이터베이스 속성에서 "읽기 커밋 된 스냅 샷을 읽었습니다"옵션 상태가 있습니다.


1

SQL2005 또는 2012에서는 다음과 같이 DBCC USEROPTIONS표시 되지 않습니다 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

6
SO에 대한 질문 / 응답에 대한 자세한 내용을 보려면 이 stackoverflow.com/about 을 읽으십시오 . 귀하의 기여가 질문에 대한 답변이 아닙니다. 평판이 높아지면 추가 할 수있는 주석입니다. stackoverflow.com/faq#reputation
— Radim Köhler

1
"방법이 있습니까?"라는 질문에 대한 답변을 시도 할 때 대답은 괜찮습니다. 그러나 작동하지 않는 것을 말하는 것만으로는 받아 들일 수 없습니다.
— Christian Strempfer

4
의 격리 수준 DBCC USEROPTIONS이 알려줍니다. read committed snapshot켜져 있으면 켜져 있고 그렇지 않으면 꺼져 있습니다
— Greg

@Greg-커밋 된 읽기 스냅 샷이 사용자 연결 수준이 아닌 데이터베이스 수준에서 설정됩니다. DBCC 사용자 옵션이 켜져 있는지 여부를 알려주지 않습니다.
— JasonS
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.