Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              Gäller för:SQL Server
När databasobjekt används av SQL Server cachelagras åtkomstkontrollen i en intern struktur som kallas resultatcache för åtkomstkontroll. På en instans av SQL Server som har en hög frekvens för ad hoc-frågekörning kan du märka många åtkomstkontrolltokenposter som har en klass på 65535 i sys.dm_os_memory_cache_entries vyn. Åtkomstkontrolltokenposter som har en klass på 65535 representerar särskilda cacheposter. Dessa cacheposter används för kumulativa behörighetskontroller för frågor.
Du kan till exempel köra följande fråga:
SELECT *
FROM t1
INNER JOIN t2
INNER JOIN t3;
I det här fallet beräknar SQL Server en kumulativ behörighetskontroll för den här frågan. Den här kontrollen avgör om en användare har SELECT behörighet för t1, t2och t3. Dessa resultat för kumulativ behörighetskontroll är inbäddade i en post för åtkomstkontrolltoken och infogas i cachelagret för åtkomstkontroll med ett ID på 65535. Om samma användare återanvänder eller kör den här frågan flera gånger återanvänder SQL Server åtkomstkontrolltokens cachepost en gång.
För att optimera användningen av den här cachen bör du överväga att använda olika tekniker för frågeparameterisering eller konvertera vanliga frågemönster till att använda lagrade procedurer.
Alternativet access check cache bucket count styr antalet hash-bucketar som används för resultatcachen för åtkomstkontroll.
Alternativet access check cache quota styr antalet poster som lagras i resultatcachen för åtkomstkontroll. När det maximala antalet poster har nåtts tas de äldsta posterna bort från resultatcachen för åtkomstkontroll.
Anmärkningar
Standardvärdena 0 för anger att SQL Server hanterar de här alternativen. Standardvärdena översätts till följande interna konfigurationer.
SQL Server 2016 (13.x) och senare versioner
| Konfigurationsinställning | Serverarkitektur | Standardantal poster | 
|---|---|---|
| access check cache quota | x64 | 1,024 | 
| access check cache bucket count | x64 | 256 | 
SQL Server 2008 (10.x) till SQL Server 2014 (12.x)
| Konfigurationsinställning | Serverarkitektur | Standardantal poster | 
|---|---|---|
| access check cache quota | x86 | 1,024 | 
| x64 och IA-64 | 28,192,048 | |
| access check cache bucket count | x86 | 256 | 
| x64 och IA-64 | 2,048 | 
I sällsynta fall kan prestandan förbättras genom att de här alternativen ändras. Du kanske till exempel vill minska storleken på resultatcachen för åtkomstkontroll om för mycket minne används. Eller öka storleken på resultatcachen för åtkomstkontroll om du upplever hög CPU-användning när behörigheterna beräknas om.
Vi rekommenderar att du bara ändrar dessa alternativ när de dirigeras av Microsofts kundtjänst. Om du vill ändra access check cache bucket count värdena och access check cache quota använder du förhållandet 1:4. Om du till exempel ändrar värdet access check cache bucket count till 512bör du ändra värdet access check cache quota till 2048.