Uwaga
Dostęp do tej strony wymaga autoryzacji. Może 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
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
( 'ALL' [ , 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;