Udostępnij za pośrednictwem


DBCC FREEPROCCACHE (języka Transact-SQL)

Usuwa wszystkie elementy z pamięci podręcznej plan, usuwa określonego planu z pamięci podręcznej plan, określając uchwyt planu lub uchwyt SQL lub usuwa wszystkie wpisy pamięci podręcznej skojarzonego z puli zasób określonego.

Topic link iconKonwencje składni języka Transact-SQL

DBCC FREEPROCCACHE [ ( { plan_handle | sql_handle | pool_name } ) ] [ WITH NO_INFOMSGS ]

Argumenty

Remarks

Za pomocą FREEPROCCACHE DBCC dokładnie Wyczyść pamięć podręczną planu.Powoduje zwolnienie pamięci podręcznej plan, na przykład użyty ponownie, procedura przechowywana, aby być ponownie skompilowana, zamiast z pamięci podręcznej.Może to spowodować nagłe, tymczasowe spadek wydajności kwerendy.Dla każdego cachestore wyczyszczone w pamięci podręcznej planu SQL Server Dziennik będzie zawierać następujący komunikat informacyjny: "SQL ServerNapotkano %d zamieniono cachestore opróżniania dla '% s' cachestore (część pamięci podręcznej plan) ze względu na "DBCC FREEPROCCACHE" lub "DBCC FREESYSTEMCACHE" operacji. „ Ten komunikat jest rejestrowany co pięć minut, dopóki bufor jest opróżniany w tym przedziale czas.

Zestawy wyników

Po klauzula WITH NO_INFOMSGS nie zostanie określona, zwraca FREEPROCCACHE DBCC:

„ Ukończono wykonywanie DBCC.Jeśli DBCC drukowane komunikaty o błędach, skontaktuj się z administrator systemu."

Uprawnienia

Wymaga uprawnienia ALTER SERVER STATE na serwerze.

Przykłady

A.Czyszczenie planu kwerendy z pamięci podręcznej planu

W poniższym przykładzie czyści planu kwerendy z pamięci podręcznej programu przez określenie uchwyt planu kwerendy.Kwerendy w celu zapewnienia przykładowa kwerenda znajduje się w pamięci podręcznej plan, najpierw jest wykonywany.The sys.dm_exec_cached_plans and sys.dm_exec_sql_text dynamic management views are queried to return the plan handle for the query.Wartość dojścia planu z zestaw wyników jest następnie wstawiany do DBCC FREEPROCACHE Instrukcja usunięcie tylko tego planu z pamięci podręcznej planu.

Here is the result set.

plan_handle tekstu

--------------------------------------------------  -----------------------------

0x060006001ECA270EC0215D05000000000000000000000000 SELECT * FROM Person.Address;

(dotyczy wiersze 1)

B.Czyszczenie wszystkich planów z pamięci podręcznej planu

W poniższym przykładzie czyści wszystkie elementy z pamięci podręcznej planu.WITH NO_INFOMSGS Aby zapobiec wyświetlaniu komunikatu informacji o określono klauzula.

C.Wyczyszczenie wszystkich wpisów pamięci podręcznej skojarzonego z puli zasób

W poniższym przykładzie czyści wszystkie wpisy pamięci podręcznej skojarzonych z puli określonego zasób.The sys.dm_resource_governor_resource_pools view is first queried to obtain the value for pool_name.

Historia zmian

Microsoft Learning

Poprawiono informacje puli zasób na wprowadzenie i dodano informacje w sekcji argumenty o sposobach uzyskiwania informacji o nazwie puli zasób Governor.

Dodano przykład C.