Megosztás a következőn keresztül:


Kiszolgálókonfiguráció: hozzáférés-ellenőrzési gyorsítótár

A következőkre vonatkozik:SQL Server

Amikor az SQL Server hozzáfér adatbázis-objektumokhoz, a hozzáférés-ellenőrzés egy belső struktúrában, a hozzáférés-ellenőrzési eredmény gyorsítótárában lesz gyorsítótárazva. Azon SQL Server-példányokon, amelyekben magas az alkalmi lekérdezések végrehajtása, számos olyan hozzáférési ellenőrző jogkivonat-bejegyzést láthat, amelyek nézetben 65535-ös sys.dm_os_memory_cache_entries osztályt használnak. A 65535-ös osztálysal rendelkező hozzáférési jogkivonat-bejegyzések speciális gyorsítótárbejegyzéseket jelölnek. Ezek a gyorsítótár-bejegyzések a lekérdezések kumulatív engedély-ellenőrzésére szolgálnak.

Futtathatja például a következő lekérdezést:

SELECT *
FROM t1
INNER JOIN t2
INNER JOIN t3;

Ebben az esetben az SQL Server kiszámítja a lekérdezés összesített engedély-ellenőrzését. Ez az ellenőrzés azt határozza meg, hogy a felhasználó rendelkezik-e SELECT engedélyekkel az , t2és t3a t1. Ezek az összesített engedélyellenőrzési eredmények beágyazódnak egy hozzáférési ellenőrző jogkivonat-bejegyzésbe, és a 65535-ös azonosítójú hozzáférés-ellenőrző gyorsítótárba kerülnek. Ha ugyanaz a felhasználó többször is újra felhasználja vagy végrehajtja ezt a lekérdezést, az SQL Server egyszer újra felhasználja a hozzáférési ellenőrző jogkivonat gyorsítótár-bejegyzését.

A gyorsítótár használatának optimalizálásához érdemes megfontolni a különböző lekérdezésparaméterezési technikák használatát, vagy a gyakori lekérdezési mintákat tárolt eljárások használatára konvertálni.

A access check cache bucket count beállítás szabályozza a hozzáférés-ellenőrzési eredménygyorsítótárhoz használt kivonatgyűjtők számát.

A access check cache quota beállítás a hozzáférés-ellenőrzési eredmény gyorsítótárában tárolt bejegyzések számát szabályozza. A bejegyzések maximális számának elérésekor a rendszer eltávolítja a legrégebbi bejegyzéseket a hozzáférés-ellenőrzési eredmény gyorsítótárából.

Megjegyzések

Az alapértelmezett értékek azt jelzik 0 , hogy az SQL Server kezeli ezeket a beállításokat. Az alapértelmezett értékek a következő belső konfigurációkra lesznek lefordítva.

SQL Server 2016 (13.x) és újabb verziók

Konfigurációs beállítás Kiszolgálói architektúra Bejegyzések alapértelmezett száma
access check cache quota x64 1,024
access check cache bucket count x64 256

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

Konfigurációs beállítás Kiszolgálói architektúra Bejegyzések alapértelmezett száma
access check cache quota x86 1,024
x64 és IA-64 28,192,048
access check cache bucket count x86 256
x64 és IA-64 2,048

Ritkán előfordulhat, hogy a teljesítmény javul ezen beállítások módosításával. Ha például túl sok memóriát használ, érdemes lehet csökkenteni a hozzáférés-ellenőrzési eredmény gyorsítótárának méretét. Vagy növelje a hozzáférés-ellenőrzési eredmény gyorsítótárának méretét, ha magas processzorhasználatot tapasztal az engedélyek újraszámításakor.

Javasoljuk, hogy csak akkor módosítsa ezeket a beállításokat, ha a Microsoft ügyfélszolgálata utasítja őket. Ha módosítani szeretné az értékeket és access check cache quota az access check cache bucket count értékeket, használja az 1:4 arányt. Ha például az értéket a access check cache bucket count következőre 512módosítja, akkor az access check cache quota értéket a következőre kell módosítania 2048: .