쿼리 대기 옵션
- Version : SQL Server 2005, 2008, 2008R2, 2012
SQL Server에서 정렬이나 해시처럼 메모리를 많이 사용하는 쿼리를 실행하면 실행에 필요한 충분한 메모리가 확보 될 때까지 쿼리가 대기하게 된다.
쿼리 대기 옵션을 사용하여 리소스에 대한 쿼리의 최대 대기 제한 시간을 설정 할 수 있다. 제한 시간의 범위는 0~ 214748364초 이며 기본값은 -1이다. 기본값의 경우 제한 시간이 예상 쿼리 비용의 25배로 계산 된다.
대기 중인 쿼리를 포함하는 트랜잭션은 쿼리가 메모리를 기다리는 동안 잠금을 유지 하여 검색할 수 없는 교착 상태가 발생 할 수 있다. 쿼리 대기 시간을 줄이면 기다리는 쿼리가 종료되고 트랜잭션이 종료되면서 이러한 교착 상태의 가능성을 낮출 수 있다.
쿼리 대기 옵션은 서비스를 재시작 하지 않아도 바로 적용된다.
[SSMS 설정]
개체 탐색기에서 마우스 오른쪽을 클릭하여 속성을 선택 한다.
[서버 속성] 창에서 고급 탭에서 [병렬처리] – [쿼리 대기] 값을 수정한다.
[T-SQL 설정]
다음 스크립트는 쿼리 대기 시간을 30초로 설정한 예시이다.
EXEC sp_configure 'show advanced options', 1; GO
RECONFIGURE; GO
EXEC sp_configure 'query wait', 30 GO
RECONFIGURE; GO |
[참고자료]
http://technet.microsoft.com/ko-kr/library/ms189539(v=sql.105).aspx
강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp