DBCC FREESYSTEMCACHE (Transact-SQL)
Berlaku untuk:Database SQL Server Azure SQL Azure SQL Managed Instance
Melepaskan semua entri cache yang tidak digunakan dari semua cache. Mesin Database SQL Server secara proaktif membersihkan entri cache yang tidak digunakan di latar belakang untuk membuat memori tersedia untuk entri saat ini. Namun, Anda dapat menggunakan perintah ini untuk menghapus entri yang tidak digunakan secara manual dari setiap cache atau dari cache kumpulan Resource Governor tertentu.
Sintaks
DBCC FREESYSTEMCACHE
( 'ALL' [ , pool_name ] )
[ WITH
{ [ MARK_IN_USE_FOR_REMOVAL ] , [ NO_INFOMSGS ] }
]
Catatan
Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
( 'ALL' [ , pool_name ] )
SEMUA
Menentukan semua cache yang didukung.
pool_name
Menentukan cache kumpulan gubernur sumber daya. Hanya entri yang terkait dengan kumpulan ini yang dibebaskan. Untuk mencantumkan nama kumpulan yang tersedia, jalankan:
SELECT name FROM sys.dm_resource_governor_resource_pools;
Sebagian besar, tetapi tidak semua, cache dapat dikosongkan secara individual menggunakan perintah ini.
MARK_IN_USE_FOR_REMOVAL
Secara asinkron membebaskan entri yang saat ini digunakan dari cache masing-masing setelah tidak digunakan. DBCC FREESYSTEMCACHE WITH MARK_IN_USE_FOR_REMOVAL
Setelah berjalan, entri baru yang dibuat di cache tidak terpengaruh.
NO_INFOMSGS
Menyembunyikan semua pesan informasi.
Keterangan
Menjalankan DBCC FREESYSTEMCACHE
menghapus cache paket untuk instans SQL Server. Menghapus cache rencana menyebabkan kompilasi ulang semua rencana eksekusi yang akan datang dan dapat menyebabkan pengurangan performa kueri yang tiba-tiba dan sementara. Untuk setiap penyimpanan cache yang dibersihkan dalam cache paket, log kesalahan SQL Server berisi pesan informasi berikut:
SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to 'DBCC FREEPROCCACHE' or 'DBCC FREESYSTEMCACHE' operations.
Pesan ini dicatat setiap lima menit selama cache dihapus dalam interval waktu tersebut.
Tataan hasil
DBCC FREESYSTEMCACHE
menghasilkan:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Izin
Memerlukan izin UBAH STATUS SERVER pada server.
Contoh
A. Melepaskan entri cache yang tidak digunakan dari cache kumpulan Resource Governor
Contoh berikut menggambarkan cara membersihkan cache yang didedikasikan untuk kumpulan sumber daya Resource Governor tertentu.
-- Clean all the caches with entries specific to the
-- resource pool named "default".
DBCC FREESYSTEMCACHE ('ALL', [default]);
B. Lepaskan entri dari cache masing-masing setelah tidak digunakan
Contoh berikut menggunakan klausa MARK_IN_USE_FOR_REMOVAL untuk merilis entri dari semua cache saat ini setelah entri menjadi tidak digunakan.
DBCC FREESYSTEMCACHE ('ALL') WITH MARK_IN_USE_FOR_REMOVAL;