Udostępnij za pomocą


Konfiguracja serwera: sprawdzanie dostępu do pamięci podręcznej

Dotyczy:SQL Server

Gdy dostęp do obiektów bazy danych jest uzyskiwany przez program SQL Server, sprawdzanie dostępu jest buforowane w wewnętrznej strukturze nazywanej pamięcią podręczną wyników sprawdzania dostępu. W wystąpieniu programu SQL Server, które ma wysoką szybkość wykonywania zapytań ad hoc, można zauważyć wiele wpisów tokenu sprawdzania dostępu, które mają klasę 65535 w sys.dm_os_memory_cache_entries widoku. Wpisy tokenu sprawdzania dostępu, które mają klasę 65535 reprezentują specjalne wpisy pamięci podręcznej. Te wpisy pamięci podręcznej są używane do skumulowanych testów uprawnień dla zapytań.

Na przykład możesz uruchomić następujące zapytanie:

SELECT *
FROM t1
INNER JOIN t2
INNER JOIN t3;

W takim przypadku program SQL Server oblicza skumulowany sprawdzanie uprawnień dla tego zapytania. To sprawdzenie określa, czy użytkownik ma SELECT uprawnienia do t1, t2i t3. Te skumulowane wyniki sprawdzania uprawnień są osadzone w wpisie tokenu sprawdzania dostępu i są wstawiane do magazynu pamięci podręcznej sprawdzania dostępu z identyfikatorem 65535. Jeśli ten sam użytkownik ponownie używa lub wykonuje to zapytanie wiele razy, program SQL Server ponownie używa wpisu pamięci podręcznej tokenu sprawdzania dostępu jednorazowo.

Aby zoptymalizować użycie tej pamięci podręcznej, należy rozważyć użycie różnych technik parametryzacji zapytań lub przekonwertować częste wzorce zapytań, aby używać procedur składowanych.

Opcja access check cache bucket count steruje liczbą zasobników skrótów używanych na potrzeby pamięci podręcznej wyników sprawdzania dostępu.

Opcja access check cache quota steruje liczbą wpisów przechowywanych w pamięci podręcznej wyników sprawdzania dostępu. Po osiągnięciu maksymalnej liczby wpisów najstarsze wpisy zostaną usunięte z pamięci podręcznej wyników sprawdzania dostępu.

Uwagi

Wartości domyślne 0 wskazują, że program SQL Server zarządza tymi opcjami. Wartości domyślne przekładają się na następujące konfiguracje wewnętrzne.

SQL Server 2016 (13.x) i nowsze wersje

Ustawienie konfiguracji Architektura serwera Domyślna liczba wpisów
access check cache quota x64 1,024
access check cache bucket count x64 256

SQL Server 2008 (10.x) do programu SQL Server 2014 (12.x)

Ustawienie konfiguracji Architektura serwera Domyślna liczba wpisów
access check cache quota x86 1,024
x64 i IA-64 28,192,048
access check cache bucket count x86 256
x64 i IA-64 2,048

W rzadkich okolicznościach wydajność może zostać poprawiona przez zmianę tych opcji. Możesz na przykład zmniejszyć rozmiar pamięci podręcznej wyników sprawdzania dostępu, jeśli jest używana zbyt duża ilość pamięci. Możesz też zwiększyć rozmiar pamięci podręcznej wyników sprawdzania dostępu, jeśli podczas ponownego obliczania uprawnień występuje wysokie użycie procesora CPU.

Zalecamy zmianę tych opcji tylko w przypadku, gdy są one kierowane przez usługi obsługi klienta firmy Microsoft. Jeśli chcesz zmienić access check cache bucket count wartości i access check cache quota , użyj współczynnika 1:4. Jeśli na przykład zmienisz wartość na access check cache bucket count , zmień wartość na access check cache quota2048.512