Skip to content
> giho's blog
Go back

~/posts/sql-server-isolation-levels

SQL Server 트랜잭션 격리수준

· 1 min read

시작하며

SQL Server에서는 오라클과 마찬가지로 default isolation level이 Read Committed로 설정 되어 있다.

그리고 ANSI 표준과는 다른 격리 수준을 제공하는데 같이 알아보자.

격리수준

MySQL은 repeatable read 격리수준에서 record lock과 gap lock 기능을 이용하여 phantom read의 발생을 방지하고 있다. 하지만 SQL Server에서는 이와 같은 lock 기능을 제공하지 않아서 별도의 격리수준을 추가로 제공하는 것으로 보인다.

Note

관련해서 더 찾아보니 SQL Server의 repeatable read 격리수준에서도 phantom read가 발생하지 않는 것으로 보인다. 그렇다면 왜 snapshot 격리수준이 더 필요한 건지는 추후에 더 찾아봐야겠다…

참고 : https://www.red-gate.com/simple-talk/databases/sql-server/t-sql-programming-sql-server/questions-about-t-sql-transaction-isolation-levels-you-were-too-shy-to-ask/



-- related


Previous Post
SQL Sever(mssql) 시작하기
Next Post
MySQL replication 동작 원리
giho=#searchesc