SQL Server 2005/2008에서 스냅 샷 격리가 설정되어 있는지 어떻게 알 수 있습니까? 사용 설정 방법 을 알고 있지만 Google에서 Snapshot Isolation 옵션의 상태를 쿼리하는 방법을 알려주는 주문을 찾을 수 없습니다.
답변
객체 탐색기에서 데이터베이스 디렉토리를 마우스 오른쪽 버튼으로 클릭하고 powershell을 시작하십시오. 유형 :
get-childitem|select name, snapshotisolationstate
그리고 return return
답변
파워 쉘? 좋은 ol ‘형식의 T-SQL의 문제점은 무엇입니까?
sys.databases 는 원하는 것입니다. snapshot_isolation_state_desc와 같이 사람이 읽을 수있는 설명 열이 있습니다.
SELECT snapshot_isolation_state_desc from sys.databases
where name='adventureworks'
답변
위에서 닉 응답 확장
다음은 모든 데이터베이스에 대한 정보를 반환합니다.
select name
, s.snapshot_isolation_state
, snapshot_isolation_state_desc
, is_read_committed_snapshot_on
, recovery_model
, recovery_model_desc
, collation_name
from sys.databases s
답변
또는 T-SQL 코드를 사용하십시오.
SELECT
'Current Isolation State:' [ ],
CASE is_read_committed_snapshot_on
WHEN 1 THEN 'ON' ELSE 'OFF'
END AS [Read Committed Snapsot State]
FROM sys.databases
WHERE name = 'MyDatabaseName'
답변
스냅 샷 트랜잭션 격리 수준의 활성화 여부를 테스트하는 방법
스냅 샷 트랜잭션 격리 레벨이 사용 가능한지 테스트하려면 다음 단계를 수행하십시오.
- SQL Server 프로파일 러를 시작하십시오.
- Analysis Services 프로젝트에서 지정한 데이터 소스에 연결할 새 추적을 작성하십시오.
- 에서 추적 속성 대화 상자에서 클릭 이벤트 선택 탭을 선택합니다.
- TransactionID 열에서 SQL : BatchCompleted 이벤트 행과 SQL : BatchStarting 이벤트 행의 확인란을 클릭하여 선택합니다.
참고 TransactionID 열을 표시하려면 모든 열 표시 확인란 을 선택합니다 .
- 실행 을 클릭 하여 추적을 시작하십시오.
Business Intelligence Development Studio에서 Analysis Services 프로젝트를 처리하십시오.
SQL Server 프로파일 러에서 TransactionID 열의 값이 같은 SQL : BatchCompleted 이벤트와 SQL : BatchStarting 이벤트를 찾습니다. 일반적으로 이러한 이벤트는 TextData 열에 SELECT 문을 포함합니다. 이러한 이벤트의 경우 SPID 열에서 세션 ID를 얻습니다.
데이터 원본에 연결하려면 SQL Server Management Studio를 시작하십시오.
새 쿼리를 만들고 다음 Transact-SQL 문을 실행하십시오.
sys.dm_exec_sessions에서 session_id, Transaction_Isolation_Level을 선택하십시오. 여기서 session_id =
참고이 설명에서 7 단계에서 얻은 세션 ID의 자리 표시 자입니다.
- 온 결과 탭 Transaction_Isolation_Level 열의 값을 확인합니다. 이 값은 Analysis Services 프로젝트에서 사용중인 트랜잭션 격리 수준을 나타냅니다. 스냅 샷 트랜잭션 격리 레벨이 사용 가능한 경우 Transaction_Isolation_Level 열의 값은 5입니다.
다음 표는 Transaction_Isolation_Level 열의 값과 해당 트랜잭션 격리 수준을 보여줍니다.