SQL Server/SQL Server Tip

쿼리 대기 옵션

SungWookKang 2015. 7. 23. 09:32
반응형

쿼리 대기 옵션

 

  • 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

 

 

 

2013-12-19 / 강성욱 / http://sqlmvp.kr

 

반응형