다음을 통해 공유


서버 구성: 쿼리 대기

적용 대상: SQL Server

이 문서에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server에서 쿼리 대기 서버 구성 옵션을 구성하는 방법을 설명합니다. 메모리를 많이 사용하는 쿼리(예: 정렬 및 해시와 관련된 쿼리)는 쿼리를 실행할 수 있는 메모리가 충분하지 않은 경우 큐에 대기됩니다. 쿼리 대기 옵션은 쿼리가 시간 초과되기 전에 리소스를 기다리는 시간(0에서 2,147,483,647까지)을 초 단위로 지정합니다. 이 옵션의 기본값은 -1입니다. 즉, 제한 시간이 예상 쿼리 비용의 25배로 계산됩니다.

Important

대기 중인 쿼리를 포함하는 트랜잭션은 쿼리가 메모리를 기다리는 동안 잠금을 유지할 수도 있습니다. 드문 경우이지만 감지할 수 없는 교착 상태가 발생할 수 있습니다. 쿼리 대기 시간을 줄이면 이러한 교착 상태가 발생할 가능성이 낮아집니다. 결국에는 대기 중인 쿼리가 종료되고 트랜잭션 잠금이 해제됩니다. 그러나 최대 대기 시간을 늘리면 쿼리가 종료되는 시간이 늘어나게 될 수 있습니다. 이 옵션을 변경하지 않는 것이 좋습니다.

권장 사항

이 옵션은 고급 옵션으로, 숙련된 데이터베이스 관리자나 공인된 SQL Server 전문가만이 변경해야 합니다.

사용 권한

매개 변수 없이 또는 첫 번째 매개 변수만 사용하여 sp_configure 를 실행할 수 있는 권한은 기본적으로 모든 사용자에게 부여됩니다. 구성 옵션을 변경하거나 RECONFIGURE 문을 실행하는 두 매개 변수를 사용하여 sp_configure를 실행하려면 사용자에게 ALTER SETTINGS 서버 수준 권한이 있어야 합니다. ALTER SETTINGS 권한은 sysadminserveradmin 고정 서버 역할에 의해 암시적으로 보유됩니다.

SQL Server Management Studio 사용

  1. 개체 탐색기에서 서버를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  2. 고급 노드를 선택합니다.

  3. 병렬 처리에 원하는 쿼리 대기 옵션 값을 입력합니다.

Transact-SQL 사용

  1. 데이터베이스 엔진에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 선택합니다.

  3. 다음 예시를 복사하여 쿼리 창에 붙여넣고 실행을 선택합니다. 이 예제에서는 sp_configure 를 사용하여 query wait 옵션 값을 7500 초로 설정하는 방법을 보여 줍니다.

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'query wait', 7500;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'show advanced options', 0;
    GO
    
    RECONFIGURE;
    GO
    

자세한 내용은 서버 구성 옵션을 참조하세요.

후속 작업: 쿼리 대기 옵션을 구성한 후

이 설정은 서버를 다시 시작하지 않아도 즉시 적용됩니다.