Параметры конфигурации сервера «access check cache»

Применимо к:SQL Server

При доступе SQL Serverк объектам базы данных проверка доступа кэшируется во внутренней структуре, которую называют кэшем результатов проверки доступа. В экземпляре SQL Server с высокой скоростью выполнения специализированных запросов вы можете заметить много записей маркеров проверки доступа, имеющих класс 65535 в представленииsys.dm_os_memory_cache_entries. Записи маркера проверки доступа с классом 65535 представляют специальные записи кэша. Эти записи кэша используются для накопительных проверок разрешений для запросов.

Например, вы можете выполнить следующий запрос: select * from t1 join t2 join t3. В этом случае SQL Server вычисляет совокупную проверку разрешений для этого запроса. Эта проверка определяет, имеет ли пользователь разрешения SELECT для t1, t2и t3. Эти результаты совокупной проверки разрешений внедряются в запись маркера проверки доступа и вставляются в хранилище кэша проверки доступа с идентификатором 65535. Если один пользователь повторно использует или выполняет этот запрос несколько раз, SQL Server однократно повторно использует запись кэша маркера проверки доступа.

Чтобы оптимизировать использование этого кэша, вы можете применять различные методы параметризации запросов или преобразовать шаблоны часто используемых запросов для использования хранимых процедур.

Параметр доступ к счетчику контейнеров проверки кэша контролирует количество сегментов хэша, используемых для кэша результатов проверки доступа.

Параметр доступ к квоте кэша проверки контролирует количество записей, хранящихся в кэше результатов проверки доступа. При достижении максимального количества записей самые старые записи удаляются из кэша результатов проверки доступа.

Комментарии

Значение по умолчанию 0 указывает на то, что этими параметрами управляет SQL Server. Значения по умолчанию преобразуются в следующие внутренние конфигурации:

SQL Server 2016 (13.x) и более поздних версий

Архитектура сервера Количество записей по умолчанию
Квота кэша проверки доступа X64 1024
Число контейнеров кэша проверки доступа X64 256

С SQL Server 2008 (10.0.x) по SQL Server 2014 (12.x)

  Архитектура сервера Количество записей по умолчанию
Квота кэша проверки доступа x86 1024
x64 и IA-64 28,192,048
Число контейнеров кэша проверки доступа x86 256
x64 и IA-64 2048

В редких случаях можно добиться увеличения производительности, изменив эти параметры. Например, если используется слишком много памяти, возможно, придется уменьшить размер кэша результатов проверки доступа. Также может потребоваться увеличить размер кэша результатов проверки доступа, если при пересчете разрешений возникнет высокая загрузка ЦП.

Рекомендуем изменять эти параметры только под руководством службы поддержки пользователей Майкрософт. Если значения числа контейнеров кэша проверки доступа и квоты кэша проверки доступа необходимо изменить, используйте соотношение 1:4. Например, если вы меняете значение числа контейнеров кэша проверки доступа на 512, значение квоты кэша проверки доступа нужно изменить на 2048.

См. также раздел