우연히 sqler.pe.kr에 갔다가 아래와 같은 질문을 보았습니다.

 

----------------------------------------

OS : Microsoft Windows 2000 Server / Advanced Server SQL : Microsoft SQL Server 2000 Standard / Enterprise Edition 그동안 Oralce을 많이 이용했었습니다. 저의 개념으로 이해가 안되는 부분이 있어서 질문드립니다. 현재 제가 아는 System이 MS SQL Server 2000 Standard를 사용하고 있는데 원인은 정확히 파악할 수 없으나 수시로(LOCK)이 걸린다고 합니다. Strored Procedure는 몇개 이용하고 있습니다. 이 SP는 스케쥴러(작업)에 의해 Call되어지고 있구요... 해결책으로 애플리케이션이든 SP든 모든 Query에 (NOLOCK)을 추가해 주었더군요. DB를 알고있는 관계자들이 "MS SQL Server는 기본적으로 Select문을 날리면 Lock이 걸린다" "Default다" 라고들 합니다. 책을 찾아보고 인터넷을 뒤져봐도 이런내용은 없는것 같은디... 맞는 이야기인지, 맞다면 왜 단순 Select문을 던지는데 기본적으로 Lock을 잡아야 하는지 답변 좀 부탁 합니다.
----------------------------------------

 

대학원에서 간단히 테이블 한 두개 만들어 놓고 VB로 연결해서 DB Programming을 해 본게 전부라 오라클에 대한 지식이 거의 없는터라 오라클에서 왜 그렇게 동작하는지 정말 그런지 뭐 그런건 잘 모른채 SQL Server의 격리 수준에 대한 내용이 생각나서 답변해 주기위해 좀 더 검색해 보며 내가 알고 있는 내용을 정리하던 중, 오라클과 SQL Server의 병행제어 방법이 다르다는 것을 알게 되었다.

 

혹 관심이 있는 분들이나 나 자신을 위해 간단히 정리해 보려 합니다.

 

 


..more


+ Recent posts