Microsoft SQL Server 동시성이 높으면 기록기가 데이터베이스 자원에 대한 리더의 액세스를 차단하므로 트랜잭션 교착 상태 오류가 발생합니다. 데이터베이스에 대해 READ_COMMITTED_SNAPSHOT ON 옵션을 설정하여 교착 상태의 가능성을 줄일 수 있습니다.
프로시저
Microsoft SQL Server 데이터베이스에서 교착 상태 오류를 줄이려면 다음을 수행하십시오.
- 데이터베이스(dbName)에 연결할 수 있는 모든 서버
및 클라이언트를 종료하고
Microsoft SQL Server에 대한 다른 연결이
없는지 확인하십시오.
- Microsoft SQL Server에 연결하고
다음 SQL 명령을 실행하여 dbName에 대해 스냅샷 격리가
사용되는지 여부를 판별하십시오.
SELECT name, is_read_committed_snapshot_on FROM sys.databases
where name='dbName'
dbName에
대해 스냅샷 격리가 사용되는 경우, 이 프로시저의 나머지를 건너 뛰십시오.
- 다음 명령을 실행하여 dbName의 스냅샷 격리를 사용하십시오.
ALTER DATABASE dbName SET READ_COMMITTED_SNAPSHOT ON
- Microsoft SQL Server를 다시 시작하고
다음 SQL 명령을 실행하여 스냅샷 격리 설정이 dbName에 대해
적용되는지 확인하십시오.
SELECT name, is_read_committed_snapshot_on FROM sys.databases
where name='dbName'