액세스 검사 캐시 서버 구성 옵션

적용 대상:SQL Server

데이터베이스 개체를 SQL Server에서 액세스할 때 액세스 검사는 access check result cache라는 내부 구조에 캐시됩니다. 임시 쿼리 실행 속도가 높은 SQL Server 인스턴스에서는 sys.dm_os_memory_cache_entries 보기에 클래스가 65535인 액세스 검사 토큰 항목 다수가 표시될 수 있습니다. 클래스가 65535인 액세스 검사 토큰 항목은 특수 캐시 항목을 의미합니다. 이러한 캐시 항목은 쿼리에 대한 누적 권한 검사에 사용합니다.

예를 들어 select * from t1 join t2 join t3 쿼리를 실행할 수 있습니다. 이 경우 SQL Server는 이 쿼리에 대한 누적 권한 검사를 컴퓨팅합니다. 이 검사는 사용자에게 t1, t2t3에서의 SELECT 권한이 있는지 확인합니다. 이러한 누적 권한 검사의 결과는 액세스 확인 토큰 항목에 포함되며, 액세스 검사 캐시 저장소에 ID 65535로 삽입됩니다. 동일한 사용자가 이 쿼리를 여러 번 다시 사용하거나 실행하면, SQL Server에서는 액세스 확인 토큰 캐시 항목을 1회 재사용합니다.

이 캐시의 사용을 최적화하려면 다양한 쿼리 매개 변수화 기술을 사용하거나, 자주 사용하는 쿼리 패턴을 변환하여 저장 프로시저를 사용하는 것이 좋습니다.

access check cache bucket count 옵션은 액세스 검사 결과 캐시에 사용되는 해시 버킷 수를 제어합니다.

access check cache quota 옵션은 액세스 검사 결과 캐시에 저장되는 항목 수를 제어합니다. 최대 항목 수에 도달하면 가장 오래된 항목이 액세스 검사 결과 캐시에서 제거됩니다.

설명

0의 기본값은 SQL Serve에서 이러한 옵션을 관리함을 나타냅니다. 기본값은 다음과 같은 내부 구성으로 변환됩니다.

SQL Server 2016(13.x) 이상

서버 아키텍처 기본 항목 수
액세스 검사 캐시 할당량 X64 1,024
액세스 검사 캐시 버킷 수 X64 256

SQL Server 2008 (10.0.x)에서 SQL Server 2014(12.x)까지

  서버 아키텍처 기본 항목 수
액세스 검사 캐시 할당량 x86 1,024
x64 및 IA-64 28,192,048
액세스 검사 캐시 버킷 수 x86 256
x64 및 IA-64 2,048

드문 경우지만 이러한 옵션을 변경하여 성능을 향상시킬 수 있습니다. 예를 들어 너무 많은 메모리가 사용되는 경우 액세스 검사 결과 캐시의 크기를 줄일 수 있습니다. 또는 사용 권한이 다시 계산될 때 높은 CPU 사용량이 발생하는 경우 액세스 검사 결과 캐시의 크기를 늘립니다.

이러한 옵션은 Microsoft 고객 지원 서비스에서 안내하는 경우에만 변경하는 것이 좋습니다. 액세스 검사 캐시 버킷 수액세스 검사 캐시 할당량 값을 변경해야 하는 경우에는 1:4 비율을 사용합니다. 예를 들어 액세스 검사 캐시 버킷 수 값을 512로 변경하는 경우 액세스 검사 캐시 할당량 값은 2048로 변경해야 합니다.

참고 항목