액세스 검사 캐시 서버 구성 옵션
적용 대상: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
, t2
및 t3
에서의 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
로 변경해야 합니다.
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기