database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 4009 게시물 읽기
No. 4009
시퀀스 생성시 dirty read 발생....
작성자
나니
작성일
2008-01-28 11:47
조회수
3,585

계속 오라클만 사용하다가 새로운 프로젝트에 투입되었는데 MS-SQL 을 사용하는군요


그런데 DB 관련한 몇가지 문제중에 시퀀스의 충돌 문제가 발생한다고 합니다.

상황을 들어보니(아직 투입된지 얼마 안되어서 소스까지는 못 보았습니다.) 시퀀스를 얻어오는 과정에서


1. MS-SQL 자체의 increment 를 사용하지 않고(increment 가 맞던가요...^^;;;) 별도의 테이블로 시퀀스를 관리하고

2. 이 과정에서 시퀀스의 충돌이 자주 발생한다고 하더군요


여기서 제가 궁금한건....(게시판 검색을 통해서 MS-SQL 의 lock 시스템을 약간 공부했습니다.)


1. 오라클의 select for update 와 같은 기능이 없는가?

2. 없다면 락을 걸고, select 후 update.. 혹은 update 후 select 를 하는 과정에서 dirty read 가 발생할 소지가 다분한것이 맞는가?

3. 2 의 현상이 맞다면.. lock level 을 올려서 해결하는 것이 정석인가?


하는 것입니다.

이 글에 대한 댓글이 총 1건 있습니다.

1. oralce의 select for update의 기능을 모르기에 mssql에서 이와 상응하는 것은?


2. update를 하게 되면 기본적으로 exclusive Lock이 발생하므로 

    select시의 shared lock은 허용하지 않음 

   -> 그러나 select시의 trnsaction isolation level에 따라 dirty read, phantom이 있을 수 있슴


3. lock level을 올리는 것이 아니라 디폴터(read commit)로 두면 됨

.님이 2008-01-28 12:56에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
4013datename(day,getDate()) 하면 [1]
응서방
2008-01-29
3210
4012하위 쿼리에서 값을 둘 이상 반환 에러 어떻게 처리해야하나요?
임상혁
2008-01-28
4143
4010테이블 최적화 어떻게 하나요? [1]
강성민
2008-01-28
3379
4009시퀀스 생성시 dirty read 발생.... [1]
나니
2008-01-28
3585
4008정렬질문입니다. [1]
초보
2008-01-28
3735
4007두개필드 중복자료 조회 [1]
델코
2008-01-27
3566
4006서버속도에 문제가 있어요... [1]
정명규
2008-01-26
3187
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다