READ_COMMITTED_SNAPSHOT을 감지하는 방법이 활성화되어 있습니까?
-
09-06-2019 - |
문제
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) 잠금.
다른 팁
에 따라 https://msdn.microsoft.com/en-us/library/ms180065.aspx, "DBCC UserOptions는 데이터베이스 옵션 read_committed_snapshot가 ON으로 설정되고 트랜잭션 격리 수준이 'Commited'로 설정 될 때 'Commited Snapshot'의 격리 수준을보고합니다.실제 격리 수준은 읽기 커밋됩니다."
또한 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
제휴하지 않습니다 StackOverflow