문제

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

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

티아

도움이 되었습니까?

해결책

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

반환 값:

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

다른 팁

  1. 에 따라 https://msdn.microsoft.com/en-us/library/ms180065.aspx, "DBCC UserOptions는 데이터베이스 옵션 read_committed_snapshot가 ON으로 설정되고 트랜잭션 격리 수준이 'Commited'로 설정 될 때 'Commited Snapshot'의 격리 수준을보고합니다.실제 격리 수준은 읽기 커밋됩니다."

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

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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top