다음을 통해 공유


SQL Server, SQL 통계 개체

적용 대상: SQL Server

SQL Server의 SQLServer:SQL Statistics 개체는 컴파일 및 SQL Server 인스턴스로 전송된 요청 유형을 모니터링하는 카운터를 제공합니다. 쿼리 컴파일 및 다시 컴파일 수와 SQL Server 인스턴스에서 수신한 일괄 처리 수를 모니터링하면 SQL Server가 사용자 쿼리를 처리하는 빈도와 쿼리 최적화 프로그램이 쿼리를 얼마나 효과적으로 처리하고 있는지를 알 수 있습니다.

컴파일은 쿼리 소요 시간의 중요한 부분입니다. 컴파일 비용을 절약하기 위해 데이터베이스 엔진 컴파일된 쿼리 계획을 쿼리 캐시에 저장합니다. 캐시의 목적은 나중에 다시 사용할 수 있도록 컴파일된 쿼리를 저장하여 컴파일을 줄이기 위한 것이므로 나중에 실행될 때 쿼리를 다시 컴파일해야 하는 요구 사항이 종료됩니다. 그러나 각 고유 쿼리는 한 번 이상 컴파일되어야 합니다. 쿼리 다시 컴파일은 다음 요인으로 인해 발생할 수 있습니다.

  • 테이블에 열 또는 인덱스 추가와 같은 기본 스키마 변경 내용 또는 테이블에서 많은 수의 행을 삽입하거나 삭제하는 것과 같은 통계 스키마 변경 내용을 포함하여 스키마가 변경됩니다.

  • 환경(SET 문)이 변경됩니다. ANSI_PADDING 또는 ANSI_NULLS 같은 세션 설정이 변경되면 쿼리가 다시 컴파일될 수 있습니다.

단순 및 강제 매개 변수화에 대한 자세한 내용은 ALTER DATABASE(Transact-SQL)를 참조하세요.

SQL Server SQL 통계 카운터입니다.

SQL Server SQL 통계 카운터 설명
Auto-Param Attempts/sec 초당 자동 매개 변수화 시도 횟수입니다. 합계는 실패하고 안전하며 안전하지 않은 자동 매개 변수화의 합계여야 합니다. 자동 매개 변수화는 SQL Server 인스턴스가 일부 리터럴을 매개 변수로 대체하여 Transact-SQL 요청을 매개 변수화하려고 할 때 발생하므로 유사한 여러 요청에서 캐시된 실행 계획을 다시 사용할 수 있습니다. 자동 매개 변수화를 최신 버전의 SQL Server에서 단순 매개 변수화라고도 합니다. 이 카운터에는 강제 매개 변수화가 포함되지 않습니다.
Batch Requests/sec 초당 수신된 Transact-SQL 명령 일괄 처리 수입니다. 이 통계는 모든 제약 조건(예: I/O, 사용자 수, 캐시 크기, 요청 복잡성 등)의 영향을 받습니다. 일괄 처리 요청이 많으면 처리량이 좋습니다.
Failed Auto-Params/sec 초당 실패한 자동 매개 변수화 시도 횟수입니다. 이 값은 작아야 합니다. 자동 매개 변수화는 이후 버전의 SQL Server에서 간단한 매개 변수화라고도 합니다.
Forced Parameterizations/sec 초당 성공한 강제 매개 변수화 수입니다.
Guided Plan Executions/sec 계획 지침을 사용하여 쿼리 계획이 생성된 초당 계획 실행 수입니다.
Misguided Plan Executions/sec 계획 생성 중에 계획 지침을 적용할 수 없는 초당 계획 실행 수입니다. 계획 가이드가 무시되었고 실행된 계획을 생성하는 데 일반 컴파일이 사용되었습니다.
Safe Auto-Params/sec 초당 안전한 자동 매개 변수화 시도 횟수입니다. 안전은 비슷한 모양의 다른 Transact-SQL 문 간에 캐시된 실행 계획을 공유할 수 있다는 결정을 의미합니다. SQL Server는 많은 자동 매개 변수화 시도를 수행하며 그 중 일부는 안전한 것으로 판명되고 다른 일부는 실패합니다. 자동 매개 변수화는 이후 버전의 SQL Server에서 간단한 매개 변수화라고도 합니다. 강제 매개 변수화는 포함되지 않습니다.
SQL 주의 비율 초당 주의 수입니다. 주의는 현재 실행 중인 요청을 종료하기 위한 클라이언트의 요청입니다.
SQL Compilations/sec 초당 SQL 컴파일 수입니다. 컴파일 코드 경로를 입력한 횟수를 나타내며 SQL Server의 문 수준 다시 컴파일로 인한 컴파일을 포함합니다. SQL Server 사용자 작업이 안정되면 이 값은 안정적인 상태에 도달합니다.
SQL Re-Compilations/sec 초당 문 다시 컴파일 수입니다. 문 다시 컴파일이 트리거되는 횟수를 계산합니다. 일반적으로 다시 컴파일이 낮게 유지되도록 합니다.
Unsafe Auto-Params/sec 초당 안전하지 않은 자동 매개 변수화 시도 횟수입니다. 예를 들어 쿼리에는 캐시된 계획이 공유되지 않는 몇 가지 특성이 있습니다. 안전하지 않은 것으로 지정됩니다. 강제 매개 변수화 수는 계산되지 않습니다.

예시

sys.dm_os_performance_counters 동적 관리 뷰에서 이 T-SQL 쿼리를 사용하여 이 개체의 쿼리 성능 카운터를 탐색하기 시작합니다.

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%SQL Statistics%';