특정 데이터베이스에서 실행되는 SELECT 문에 WITH (NOLOCK)을 적용 할 수있는 방법이 있습니까?데이터베이스 전체 설정에서 NOLOCK을 적용 할 수 있습니까?
답변
아니하지만 당신은 SQL 서버 2005에 SNAPSHOT ISOLATION 데이터베이스 레벨을 사용할 수 있으며 최대, 그것은 교착 상태
SQL 서버 2005은 스냅 숏 격리의 도입과 함께 SQL-92 분리 레벨로 확장 도입에 많은 도움이 될 것입니다 READ COMMITTED의 추가 구현이 필요합니다. 새로운 READ_COMMITTED_SNAPSHOT 격리 수준은 모든 트랜잭션에 대해 READ COMMITTED를 투명하게 대체 할 수 있습니다.
SNAPSHOT 격리는 트랜잭션 내에서 읽은 데이터가 다른 동시 트랜잭션의 변경 내용을 절대로 반영하지 않도록 지정합니다. 트랜잭션은 트랜잭션이 시작될 때 존재하는 데이터 행 버전을 사용합니다. SNAPSHOT 트랜잭션이 다른 트랜잭션의 데이터 쓰기를 차단하지 않도록 데이터를 읽을 때 잠금이 설정되지 않습니다. 데이터를 쓰는 트랜잭션은 스냅 숏 트랜잭션이 데이터를 읽지 못하도록 차단하지 않습니다. 이를 사용하려면 ALLOW_SNAPSHOT_ISOLATION 데이터베이스 옵션을 설정하여 스냅 샷 격리를 활성화해야합니다.
READ_COMMITTED_SNAPSHOT 데이터베이스 옵션은 데이터베이스에서 스냅 숏 격리를 사용할 때 기본 READ COMMITTED 격리 수준 동작을 결정합니다. READ_COMMITTED_SNAPSHOT ON을 명시 적으로 지정하지 않으면 모든 암시 적 트랜잭션에 READ COMMITTED가 적용됩니다. 이렇게하면 READ_COMMITTED_SNAPSHOT OFF (기본값) 설정과 동일한 동작이 발생합니다. READ_COMMITTED_SNAPSHOT OFF가 적용되면 데이터베이스 엔진은 공유 잠금을 사용하여 기본 격리 수준을 적용합니다. READ_COMMITTED_SNAPSHOT 데이터베이스 옵션을 ON으로 설정하면 데이터베이스 엔진은 잠금을 사용하여 데이터를 보호하는 대신 행 버전 및 스냅 숏 격리를 기본값으로 사용합니다.
데이터베이스에 따라 다릅니다. 일부 데이터베이스 엔진에서는 더티 읽기 또는 유사한 동작을 기본값으로 설정할 수 있습니다.
예를 들어 일부 MSSQL Server 버전에서는 SQLMenace의 게시물에 설명 된대로 데이터베이스를 스냅 샷 격리로 설정할 수 있습니다.
- 1. 전체 앱에 login_required를 적용 할 수 있습니까?
- 2. jQuery 선택기를 전체 문서가 아닌 요소에 적용 할 수 있습니까?
- 3. MPMoviePlayerPlaybackDidFinishNotification을 강제 적용 할 수 있습니까?
- 4. 홈 위젯에서 애니메이션을 적용 할 수 있습니까?
- 5. Singleton 클래스에 상속을 적용 할 수 있습니까?
- 6. URL을 캔버스 페이지에 적용 할 수 있습니까?
- 7. 인터페이스에 확장 방법을 적용 할 수 있습니까?
- 8. MySQL에서 복합성을 어떻게 적용 할 수 있습니까?
- 9. 색인을 기반으로 CSS를 적용 할 수 있습니까?
- 10. 어떻게 필터를 모듈에만 적용 할 수 있습니까?
- 11. '너비'는 텍스트 영역에 적용 할 수 있습니까?
- 12. 댄스 링크를이 CSP에 적용 할 수 있습니까?
- 13. information_schema의 테이블에 트리거를 적용 할 수 있습니까?
- 14. UIView에서 setClipsToBounds에 애니메이션을 적용 할 수 있습니까?
- 15. LINQ를 사용하여 RecordCount, TOP 및 NOLOCK을 어떻게 설정할 수 있습니까?
- 16. 전체 HTML 문서에 전체 글꼴 적용 방법
- 17. '사례'시나리오를 웹 사이트 디자인에 적용 할 수 있습니까?
- 18. 웹 설정에서 IIS 설정을 변경할 수 있습니까?
- 19. 설정에서 iPhone 전화 번호를 읽을 수 있습니까?
- 20. 전체 파일에 컨텍스트 액션 적용
- 21. xslt에서 전체 XML을 출력 할 수 있습니까?
- 22. 봄 보안의 일부 페이지에 https를 강제로 적용 할 수 있습니까?
- 23. 전체 텍스트 줄에 배경색 적용
- 24. WIN32, C++ : 창을 숨기지 않고 애니메이션을 적용 할 수 있습니까?
- 25. 전체 데이터베이스의 pg_dump에서 하나의 스키마 만 복원 할 수 있습니까?
- 26. 전체 HTML 페이지에 대해 popupManager가 공유 및 중앙 팝업을 적용 할 수 있습니까?
- 27. MySQL 전체 텍스트 검색을 부분 단어 검색에 적용 할 수 있습니까?
- 28. 다른 사람이 변경 사항을 적용 할 때마다 제출 된 변경 사항을 전체 프로젝트에 보낼 수 있습니까?
- 29. 코어 이미지 필터로 전체 화면을 필터링 할 수 있습니까?
- 30. SP로 전체 데이터베이스 복제
스냅 샷 격리는 더티 읽기가 아니므로 스냅 숏 격리는 사용자가 배치를 시작했을 때와 같은 데이터 읽기입니다. 더티 읽기는 절대로 커밋되지 않았지만 롤백되었을 수있는 데이터를 읽는 것입니다. (노 락, 커밋되지 않은 읽기) – SQLMenace
그 점을 지적 해 주셔서 감사합니다. 내 대답은 지금 오해의 소지가 적습니다. 하지만, 묻는 사람은 여전히 자신의 데이터베이스를 지정하지 않았고 아마 그렇지 않을 것입니다. – marr75