Partilhar via


Configuração do servidor: cache de verificação de acesso

Aplica-se a:SQL Server

Quando objetos de banco de dados são acessados pelo SQL Server, a verificação de acesso é armazenada em cache em uma estrutura interna chamada cache de resultados de verificação de acesso. Em uma instância do SQL Server que tem uma alta taxa de execução de consulta ad hoc, você pode notar muitas entradas de token de verificação de acesso que têm uma classe de 65535 no sys.dm_os_memory_cache_entries modo de exibição. As entradas de token de verificação de acesso que têm uma classe de 65535 representam entradas de cache especiais. Essas entradas de cache são usadas para verificações de permissão cumulativas para consultas.

Por exemplo, você pode executar a seguinte consulta:

SELECT *
FROM t1
INNER JOIN t2
INNER JOIN t3;

Nesse caso, o SQL Server calcula uma verificação de permissão cumulativa para essa consulta. Essa verificação determina se um usuário tem SELECT permissões em t1, t2e t3. Esses resultados de verificação de permissão cumulativa são incorporados em uma entrada de token de verificação de acesso e são inseridos no armazenamento de cache de verificação de acesso com uma ID de 65535. Se o mesmo usuário reutilizar ou executar essa consulta várias vezes, o SQL Server reutilizará a entrada de cache de token de verificação de acesso uma vez.

Para otimizar o uso desse cache, você deve considerar o uso de várias técnicas de parametrização de consulta ou converter padrões de consulta frequentes para usar procedimentos armazenados.

A access check cache bucket count opção controla o número de hash buckets usados para o cache de resultados da verificação de acesso.

A access check cache quota opção controla o número de entradas armazenadas no cache de resultados da verificação de acesso. Quando o número máximo de entradas é atingido, as entradas mais antigas são removidas do cache de resultados da verificação de acesso.

Observações

Os valores padrão indicam 0 que o SQL Server está gerenciando essas opções. Os valores padrão se traduzem nas seguintes configurações internas.

SQL Server 2016 (13.x) e versões posteriores

Definição de configuração Arquitetura do servidor Número padrão de entradas
access check cache quota x64 1,024
access check cache bucket count x64 256

SQL Server 2008 (10.x) para SQL Server 2014 (12.x)

Definição de configuração Arquitetura do servidor Número padrão de entradas
access check cache quota x86 1,024
x64 e IA-64 28,192,048
access check cache bucket count x86 256
x64 e IA-64 2,048

Em circunstâncias raras, o desempenho pode ser melhorado alterando essas opções. Por exemplo, talvez você queira reduzir o tamanho do cache de resultados da verificação de acesso se for usada muita memória. Ou aumente o tamanho do cache de resultados da verificação de acesso se ocorrer um alto uso da CPU quando as permissões forem recalculadas.

Recomendamos alterar essas opções apenas quando direcionado pelos Serviços de Atendimento ao Cliente da Microsoft. Se quiser alterar os access check cache bucket count valores e access check cache quota , use uma proporção de 1:4. Por exemplo, se você alterar o access check cache bucket count valor para 512, deverá alterá-lo access check cache quota para 2048.