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