서버 구성: 커서 임계값
적용 대상: SQL Server
이 문서에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server에서 서버 구성 옵션을 구성하는 cursor threshold
방법을 설명합니다. 이 cursor threshold
옵션은 커서 키 집합이 비동기적으로 생성되는 커서 집합의 행 수를 지정합니다. 커서가 결과 집합에 대한 키 집합을 생성하는 경우 쿼리 최적화 프로그램은 해당 결과 집합에 대해 반환되는 행 수를 예측합니다. 쿼리 최적화 프로그램의 계산 결과, 반환된 행 개수가 이 임계값보다 크면 커서가 계속 채워지는 동안 사용자가 커서에서 행을 인출할 수 있도록 커서가 비동기적으로 생성됩니다. 그렇지 않으면 커서가 동기적으로 생성되어 모든 행이 반환될 때까지 쿼리가 기다립니다.
제한 사항
SQL Server는 키 집합 기반 또는 정적 Transact-SQL 커서를 비동기적으로 생성하는 것을 지원하지 않습니다. Transact-SQL 커서 작업(예: OPEN
FETCH
일괄 처리)이므로 Transact-SQL 커서의 비동기 생성이 필요하지 않습니다. SQL Server는 각 커서 작업에 대한 클라이언트 왕복으로 인해 짧은 대기 시간이 OPEN
우려되는 비동기 키 집합 기반 또는 정적 API(애플리케이션 프로그래밍 인터페이스) 서버 커서를 계속 지원합니다.
키 집합의 행 수에 대한 추정치를 결정하는 쿼리 최적화 프로그램의 정확도는 커서의 각 테이블에 대한 통계의 통화에 따라 달라집니다.
권장 사항
이 옵션은 고급 옵션으로, 숙련된 데이터베이스 관리자나 공인된 SQL Server 전문가만이 변경해야 합니다.
설정 cursor threshold
-1
하면 모든 키 집합이 동기적으로 생성되므로 작은 커서 집합에 이점이 있습니다. 설정 cursor threshold
0
하면 모든 커서 키 집합이 비동기적으로 생성됩니다. 쿼리 최적화 프로그램은 다른 값과 함께 커서 집합의 예상 행 수를 비교하고 설정된 수를 cursor threshold
초과하는 경우 키 집합을 비동기적으로 빌드합니다. 작은 결과 집합이 동기적으로 더 잘 빌드되므로 너무 낮게 설정 cursor threshold
하지 마세요.
사용 권한
매개 변수 없이 또는 첫 번째 매개 변수만 사용하여 sp_configure
를 실행할 수 있는 권한은 기본적으로 모든 사용자에게 부여됩니다. 구성 옵션을 변경하거나 RECONFIGURE
문을 실행하는 두 매개 변수를 사용하여 sp_configure
를 실행하려면 사용자에게 ALTER SETTINGS
서버 수준 권한이 있어야 합니다. ALTER SETTINGS
권한은 sysadmin 및 serveradmin 고정 서버 역할에 의해 암시적으로 보유됩니다.
SQL Server Management Studio 사용
개체 탐색기에서 서버를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
고급 노드를 선택합니다.
기타에서 옵션을 원하는 값으로 변경
cursor threshold
합니다.
Transact-SQL 사용
데이터베이스 엔진에 연결합니다.
표준 도구 모음에서 새 쿼리를 선택합니다.
다음 예시를 복사하여 쿼리 창에 붙여넣고 실행을 선택합니다. 이 예에서는 sp_configure를 사용하여 커서 키 집합이 비동기적으로 생성되도록
cursor threshold
옵션을0
로 설정하는 방법을 보여 줍니다.USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXECUTE sp_configure 'cursor threshold', 0; GO RECONFIGURE; GO EXECUTE sp_configure 'show advanced options', 0; GO RECONFIGURE; GO
자세한 내용은 서버 구성 옵션을 참조하세요.
후속 작업: 커서 임계값 옵션을 구성한 후
이 설정은 서버를 다시 시작하지 않아도 즉시 적용됩니다.