Bagikan melalui


Konfigurasi server: cache pemeriksaan akses

Berlaku untuk: SQL Server

Ketika objek database diakses oleh SQL Server, pemeriksaan akses di-cache dalam struktur internal yang disebut cache hasil pemeriksaan akses. Pada instans SQL Server yang memiliki tingkat eksekusi kueri ad hoc yang tinggi, Anda mungkin melihat banyak entri token pemeriksaan akses yang memiliki kelas 65535 dalam sys.dm_os_memory_cache_entries tampilan. Entri token pemeriksaan akses yang memiliki kelas 65535 mewakili entri cache khusus. Entri cache ini digunakan untuk pemeriksaan izin kumulatif untuk kueri.

Misalnya, Anda mungkin menjalankan kueri berikut:

SELECT *
FROM t1
INNER JOIN t2
INNER JOIN t3;

Dalam hal ini, SQL Server menghitung pemeriksaan izin kumulatif untuk kueri ini. Pemeriksaan ini menentukan apakah pengguna memiliki izin SELECT pada t1, , t2dan t3. Hasil pemeriksaan izin kumulatif ini disematkan ke dalam entri token pemeriksaan akses dan dimasukkan ke dalam penyimpanan cache pemeriksaan akses dengan ID 65535. Jika pengguna yang sama menggunakan kembali atau menjalankan kueri ini beberapa kali, SQL Server menggunakan kembali entri cache token pemeriksaan akses satu kali.

Untuk mengoptimalkan penggunaan cache ini, Anda harus mempertimbangkan untuk menggunakan berbagai teknik parameterisasi kueri, atau mengonversi pola kueri yang sering digunakan untuk menggunakan prosedur tersimpan.

Opsi access check cache bucket count mengontrol jumlah wadah hash yang digunakan untuk cache hasil pemeriksaan akses.

Opsi access check cache quota mengontrol jumlah entri yang disimpan dalam cache hasil pemeriksaan akses. Ketika jumlah maksimum entri tercapai, entri terlama dihapus dari cache hasil pemeriksaan akses.

Keterangan

Nilai 0 default menunjukkan bahwa SQL Server mengelola opsi ini. Nilai default diterjemahkan ke konfigurasi internal berikut.

SQL Server 2016 (13.x) dan versi yang lebih baru

Pengaturan Konfigurasi Arsitektur server Jumlah entri default
access check cache quota x64 1,024
access check cache bucket count x64 256

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

Pengaturan Konfigurasi Arsitektur server Jumlah entri default
access check cache quota x86 1,024
x64 dan IA-64 28,192,048
access check cache bucket count x86 256
x64 dan IA-64 2.048

Dalam keadaan yang jarang terjadi, performa mungkin ditingkatkan dengan mengubah opsi ini. Misalnya, Anda mungkin ingin mengurangi ukuran cache hasil pemeriksaan akses jika terlalu banyak memori yang digunakan. Atau, tingkatkan ukuran cache hasil pemeriksaan akses jika Anda mengalami penggunaan CPU yang tinggi saat izin dihitung ulang.

Sebaiknya hanya mengubah opsi ini saat diarahkan oleh Layanan Dukungan Pelanggan Microsoft. Jika Anda ingin mengubah access check cache bucket count nilai dan access check cache quota , gunakan rasio 1:4. Misalnya, jika Anda mengubah nilai menjadi access check cache bucket count , Anda harus mengubah nilai menjadi access check cache quota 2048.512