3

아래 링크에서 SQL Server 2008의 스냅 숏 격리 수준을 연구 중입니다. 내 혼란SQL Server 스냅 숏 격리 수준 문제

그것은 언급

http://msdn.microsoft.com/en-us/library/ms173763.aspx

  1. "현재 트랜잭션의 시작 이후 다른 트랜잭션에 의한 데이터 수정이 현재 트랜잭션에서 실행 제표에 표시되지 않습니다."입니다 - 다른 트랜잭션에 의해 커밋 된 데이터가 현재 스냅 샷 격리 수준 트랜잭션에 표시되지 않는 것 같습니다.

  2. "SNAPSHOT 격리 수준에서 실행되는 트랜잭션은 해당 트랜잭션의 변경 내용을 볼 수 있습니다." - 다른 트랜잭션에 의해 커밋 된 데이터가 현재 스냅 샷 격리 수준 트랜잭션에서 볼 수 있습니다.

1과 2가 충돌하는 것 같습니다. 다른하실 말씀 있나요? 사전에

덕분에, 조지

수 2 "나는 내 자신의 변화를 볼 수있다, 나는 다른 변경 볼 수 없습니다"를 의미

답변

8

내가 트랜잭션을 시작하고 내가 변경하는 경우 그래서

을, 내가 할 수있는 그들을보십시오. 내 TXN이 내 변경 사항을 볼 수 없으면 다른 세션/연결에 대한 다른 트랜잭션이 시작됩니다.

+0

, 내가 잘못 읽기를했다. :-) – George2

+1

때때로 나는 BOL을 읽는데 어려움을 겪었고 나는 영어 원어민이었습니다 ... (독일어) 동료는 며칠 전에 BOL에 도움을 청했습니다. 나는 그를 도와 줄 수 있기 전에 생각해야했습니다! – gbn

+0

당신은 분명 정확합니다, gbn! – George2

1

SNAPSHOT과 READ COMMITTED SNAPSHOT 의 차이점을 알아야합니다. 후자의 경우, 다음과 같이 BOL에서 견적을 수정해야합니다.

"현재 STATEMENT (트랜잭션이 아님!)의 시작 후에 다른 트랜잭션이 만든 데이터 수정 내용은 현재 트랜잭션에서 실행중인 명령문에서는 볼 수 없습니다."

는 큰 차이 만드는 경우의 예 : 당신이 올바른지 When Snapshot Isolation Helps and When It Hurts