SQL Server 의 트 랜 잭 션 격 리 모드 소개

일반적으로 SQL Server 를 기본 형식 으로 격 리 작업 을 하 는 것 이 좋 습 니 다.격 리 는 ACID 모델 의 기본 원칙 중 하나 이기 때문이다.그러나 가끔 은 업무 수요 로 인해 데이터 베이스 관리 자 는 기본 적 인 행 위 를 위반 하고 더욱 유연 한 방법 으로 업무 조작 격 리 를 해 야 한다.데이터베이스 관리자 가 이러한 상황 에 대해 SQL Serve 는 다섯 가지 서로 다른 사무 조작 격 리 모델 을 제공 합 니 다.이러한 트 랜 잭 션 격 리 모드 를 상세 하 게 소개 하기 전에 관리자 가 직면 할 데이터베이스 문제 가 필요 합 니 다.
1.더러 운 데 이 터 를 읽 고 쓰 는 경 우 는 한 사무 가 다른 사무 에서 수정 되 어 제출 되 지 않 은 데 이 터 를 읽 고 쓸 때 발생 합 니 다.만약 다른 사물 이 수정 데 이 터 를 영원히 제출 하지 않 는 다 면,첫 번 째 사 무 는 영원히 잘못된 값,즉 더러 운 데 이 터 를 얻 게 될 것 이다.
2.같은 데 이 터 를 반복 적 으로 읽 으 려 고 할 때 다른 사무 가 이 첫 번 째 사무 가 반복 적 으로 읽 기 전에 이 데 이 터 를 수정 할 때 발생 합 니 다.이렇게 하면 첫 번 째 사무 가 같은 데 이 터 를 읽 을 때 두 개의 다른 값 을 얻 게 되 어 원시 데이터 읽 기 가 중복 되 지 않 게 됩 니 다.
3.영상 읽 기와 쓰기.이런 상황 은 한 업무 가 특정한 표 에서 여러 번 데이터 조 회 를 하고 다른 업무 가 조회 조건 을 만족 시 키 는 데이터 줄 을 삽입 하거나 삭제 하 는 데 발생 한다.이것 은 이전 업무 가'이미지'값 을 얻 거나 잃 게 할 것 이다.
SQL Server 의 모든 격 리 모드 는 상기 문제 중의 부분 을 해결 하여 데이터베이스 관리자 가 업무 조작 격 리 와 업무 수요 간 의 균형 을 유지 하도록 한다.다음은 SQL Server 의 다섯 가지 격 리 모드 입 니 다.
1.읽 기와 쓰기 제출 격 리 모드 입 니 다.이것 은 SQL Server 의 기본 격 리 모드 입 니 다.데이터 베 이 스 는 제출 되 지 않 은 트 랜 잭 션 에서 작성 한 데 이 터 를 읽 고 쓰 는 것 을 허용 하지 않 습 니 다.이 모드 는 더러 운 데이터 읽 기와 쓰기 가 발생 하 는 것 을 방지 할 수 있 으 나 영상 읽 기와 쓰기 가 중복 되 거나 읽 기와 쓰기 가 불가능 한 상황 을 방지 할 수 없다.
2.읽 기와 쓰기 가 제출 되 지 않 은 격 리 모드 입 니 다.이 모드 는 기본적으로 사무 작업 사이 에 격 리 되 지 않 았 습 니 다.모든 사무 에 서 는 제출 되 지 않 은 다른 사무 에 의 해 작 성 된 데 이 터 를 읽 을 수 있 습 니 다.이런 모델 에서 업무 조작 은 더러 운 데이터 읽 기와 쓰기,영상 읽 기와 쓰기,중복 읽 기와 쓰기 가 불가능 한 상황 이 발생 하기 쉽다.
3.읽 기와 쓰기 격 리 모드 를 반복 할 수 있 습 니 다.읽 기와 쓰기 제출 격 리 모드 보다 더 나 아가 다른 사무 에 의 해 읽 기와 쓰기 가 끝 날 때 까지 사무 수정 을 막 을 수 있 습 니 다.이 격 리 모드 는 더러 운 데이터 읽 기와 쓰 기 를 반복 할 수 없 는 상황 을 방지 할 수 있다.
4.직렬 격 리 모드 입 니 다.이 모드 는 범위 잠 금 을 사용 하여 다른 사무 가 데 이 터 를 읽 을 때 데이터 줄 을 삽입 하거나 삭제 하 는 것 을 방지 합 니 다.직렬 화 격 리 모델 은 상기 세 가지 상황 의 발생 을 방지 할 수 있다.
5.스냅숏 격 리 모델,이 모델 역시 세 가지 상황 의 발생 을 방지 할 수 있 지만 방법 이 다 를 뿐이다.이 는 모든 사무 에 데 이 터 를 조회 하 는'스냅 샷'을 제공 합 니 다.트 랜 잭 션 은 스냅 샷 을 조회 할 수 있 습 니 다.원본 데이터 시트 로 돌아 가지 않 아 도 더러 운 데이터 가 읽 히 지 않도록 합 니 다.
SQL Server 에서 사용 하 는 격 리 모드 를 바 꾸 려 면 다음 명령 만 입력 하 십시오.
  
SET TRANSACTION ISOLATION LEVEL
다음 키워드 로 대체 할 수 있 습 니 다:
  ・ READ COMMITTED
  ・ READ UNCOMMITTED
  ・ REPEATABLE READ
  ・ SERIALIZABLE
  ・ SNAPSHOT
기본 SQL Server 트 랜 잭 션 격 리 모드 입 니 다.

좋은 웹페이지 즐겨찾기