Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza danych SQL w usłudze Microsoft Fabric
Zwalnia wszystkie nieużywane wpisy pamięci podręcznej ze wszystkich pamięci podręcznych. Aparat bazy danych programu SQL Server aktywnie czyści nieużywane wpisy pamięci podręcznej w tle, aby udostępnić pamięć dla bieżących wpisów. Można jednak użyć tego polecenia, aby ręcznie usunąć nieużywane wpisy z każdej pamięci podręcznej lub z określonej pamięci podręcznej puli zarządcy zasobów.
Transact-SQL konwencje składni
Składnia
DBCC FREESYSTEMCACHE
( 'ALL' [ , pool_name ] )
[ WITH
{ [ MARK_IN_USE_FOR_REMOVAL ] , [ NO_INFOMSGS ] }
]
Argumenty
( 'WSZYSCY' [ , pool_name ] )
CAŁY
Określa wszystkie obsługiwane pamięci podręczne.
pool_name
Określa pamięć podręczną puli zarządcy zasobów. Zwalniane są tylko wpisy skojarzone z tą pulą. Aby wyświetlić listę dostępnych nazw puli, uruchom polecenie:
SELECT name FROM sys.dm_resource_governor_resource_pools;
Większość, ale nie wszystkie, pamięci podręczne mogą być zwalniane indywidualnie przy użyciu tego polecenia.
MARK_IN_USE_FOR_REMOVAL
Asynchronicznie zwalnia obecnie używane wpisy z odpowiednich pamięci podręcznych po ich nieużywaniu. Po uruchomieniu DBCC FREESYSTEMCACHE WITH MARK_IN_USE_FOR_REMOVAL nowe wpisy utworzone w pamięci podręcznej nie mają wpływu.
NO_INFOMSGS
Pomija wszystkie komunikaty informacyjne.
Uwagi
Uruchomienie DBCC FREESYSTEMCACHE czyści pamięć podręczną planu dla wystąpienia programu SQL Server. Wyczyszczenie pamięci podręcznej planu powoduje ponowne skompilowanie wszystkich nadchodzących planów wykonywania i może spowodować nagłe, tymczasowe zmniejszenie wydajności zapytań. Dla każdego wyczyszczonego magazynu pamięci podręcznej w pamięci podręcznej planu dziennik błędów programu SQL Server zawiera następujący komunikat informacyjny:
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.
Ten komunikat jest rejestrowany co pięć minut, o ile pamięć podręczna jest opróżniona w tym przedziale czasu.
Zestawy wyników
funkcja DBCC FREESYSTEMCACHE zwraca:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Uprawnienia
Wymaga uprawnienia ALTER SERVER STATE na serwerze.
Przykłady
A. Zwolnij nieużywane wpisy pamięci podręcznej z pamięci podręcznej puli zarządcy zasobów
Poniższy przykład ilustruje sposób czyszczenia pamięci podręcznych przeznaczonych dla określonej puli zasobów zarządcy zasobów.
-- Clean all the caches with entries specific to the
-- resource pool named "default".
DBCC FREESYSTEMCACHE ('ALL', [default]);
B. Zwalnianie wpisów z odpowiednich pamięci podręcznych po ich nieużywaniu
W poniższym przykładzie użyto klauzuli MARK_IN_USE_FOR_REMOVAL, aby zwolnić wpisy ze wszystkich bieżących pamięci podręcznych, gdy wpisy staną się nieużywane.
DBCC FREESYSTEMCACHE ('ALL') WITH MARK_IN_USE_FOR_REMOVAL;