커서 임계값 구성(서버 구성 옵션)

적용 대상:SQL Server

이 항목에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server에서 cursor threshold 서버 구성 옵션을 구성하는 방법을 설명합니다. 커서 임계값 옵션은 커서 키 집합이 비동기적으로 생성되는 커서 집합의 행 수를 지정합니다. 커서에서 결과 집합에 대해 키 집합을 생성할 때 쿼리 최적화 프로그램은 해당 결과 집합으로 반환될 행 개수를 계산합니다. 쿼리 최적화 프로그램의 계산 결과, 반환된 행 개수가 이 임계값보다 크면 커서가 계속 채워지는 동안 사용자가 커서에서 행을 인출할 수 있도록 커서가 비동기적으로 생성됩니다. 그렇지 않으면 커서가 동기적으로 생성되어 모든 행이 반환될 때까지 쿼리가 기다립니다.

항목 내용

시작하기 전에

제한 사항

  • SQL Server에서는 키 집합 또는 정적 Transact-SQL 커서를 비동기적으로 생성할 수 없습니다. OPEN 또는 FETCH와 같은 Transact-SQL 커서 작업은 일괄 처리되므로 Transact-SQL 커서를 비동기적으로 생성하지 않아도 됩니다. SQL Server 에서는 각 커서 작업의 클라이언트 왕복 때문에 짧은 대기 시간 OPEN이 문제가 되는 비동기 키 집합 기반 또는 정적 API(애플리케이션 프로그래밍 인터페이스) 서버 커서를 계속 지원합니다.

  • 키 집합의 행 수에 대한 추정치를 결정하는 쿼리 최적화 프로그램의 정확도는 커서의 각 테이블에 대한 통계의 통화에 따라 달라집니다.

권장 사항

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

  • 커서 임계값을 -1로 설정하면 모든 키 집합이 동기적으로 생성되므로 작은 커서 집합에 유리합니다. 커서 임계값을 0으로 설정하면 모든 커서 키 집합이 비동기적으로 생성됩니다. 다른 값을 사용하면 쿼리 최적화 프로그램이 커서 집합에 있는 예상 행 개수를 비교하여 이 값이 커서 임계값에 설정된 개수보다 많으면 비동기적으로 키 집합을 생성합니다. 작은 결과 집합이 동기적으로 더 잘 빌드되므로, 커서 임계값을 너무 낮게 설정하지 마세요.

보안

사용 권한

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

SQL Server Management Studio 사용

커서 임계값 옵션을 구성하려면

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

  2. 고급 노드를 클릭합니다.

  3. 기타에서 커서 임계값 옵션을 원하는 값으로 변경합니다.

Transact-SQL 사용

커서 임계값 옵션을 구성하려면

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

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

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다. 이 예에서는 sp_configure를 사용하여 커서 키 집합이 비동기적으로 생성되도록 cursor threshold 옵션을 0로 설정하는 방법을 보여 줍니다.

USE AdventureWorks2022;  
GO  
EXEC sp_configure 'show advanced options', 1 ;  
GO  
RECONFIGURE  
GO  
EXEC sp_configure 'cursor threshold', 0 ;  
GO  
RECONFIGURE  
GO  
  

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

후속 작업: 커서 임계값 옵션을 구성한 후

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

참고 항목

@@CURSOR_ROWS(Transact-SQL)
RECONFIGURE(Transact-SQL)
서버 구성 옵션(SQL Server)
sp_configure(Transact-SQL)
UPDATE STATISTICS(Transact-SQL)