2012-01-30 2 views
0

SQL Server에서 10 개의 열이있는 테이블이 있는데 테이블의 특정 열 값을 업데이트하려고합니다. & 다른 사람이 테이블을 업데이트 할 수 없도록 업데이트하기 전에 잠금을 설정하고 싶습니다. 같은 시간. 전 두 개의 열 이름이 id1 & id2이고, 언제든지 한 열만 업데이트되므로, 그 열에 만 자물쇠를 넣고 reamin 열은 다른 사용자가 자유롭게 업데이트 할 수 있어야합니다.SQL Server 2008의 열 수준 잠금

+1

무엇이 당신의 질문입니까? – wallyk

+1

하나의 UPDATE 문에서 잠금을 적용하는 것에 대해 이야기하고 있습니까? 아니면 사용자가 몇 분/시간의 기간 동안 열에서 값을 검사하고 편집하는 "응용 프로그램 수준"기능에 대해 이야기하고 있습니까? –

+1

SQL Server의 'UPDATE' 문은 ** 자동으로 ** 행 수준의 UPDATE 잠금을 유발하므로 ..... 더 필요한 것은 무엇입니까 ??? –

답변

3

SQL Server에서 가장 낮은 수준의 잠금은 행 잠금입니다. 열마다 잠글 수 없습니다.

update의 경우 SQL Server는 locking을 단독으로 처리합니다. 업데이트를 실행하기 전에 잠금을 획득합니다. 행, 페이지 또는 테이블 잠금이 될 수 있습니다. 그런 다음 업데이트를 수행하고 업데이트가 커밋 된 후 잠금을 해제합니다.