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
옵션이 ON 입니다.READ COMMITTED
격리 수준의 읽기 작업 은 스냅 샷 검색을 기반으로하며 잠금을 획득하지 않습니다. - 0 (기본값) :
READ_COMMITTED_SNAPSHOT
옵션이 OFF 입니다.READ COMMITTED
격리 수준의 읽기 작업은 공유 (S) 잠금을 사용 합니다.
답변
-
당으로 https://msdn.microsoft.com/en-us/library/ms180065.aspx , “DBCC USEROPTIONS 데이터베이스 옵션 READ_COMMITTED_SNAPSHOT이 ON으로 설정하고 트랜잭션 격리 수준이 될 때의 격리 수준이 ‘최선을 다하고 스냅 샷을 읽어’보고 “읽기 커밋”으로 설정했습니다. 실제 격리 수준은 읽기 커밋됩니다. “
-
또한 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