Sdílet prostřednictvím


DBCC FREESYSTEMCACHE (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Uvolní všechny nevyužité záznamy cache ze všech cache. SQL Server Database Engine proaktivně čistí nevyužité záznamy v cache na pozadí, aby umožnil paměť pro aktuální záznamy. Tento příkaz však můžete použít k ručnímu odstranění nepoužitých záznamů z každé cache nebo z určené cache Resource Governor.

Transact-SQL konvence syntaxe

Syntaxe

DBCC FREESYSTEMCACHE
    ( 'ALL' [ , pool_name ] )
    [ WITH
    { [ MARK_IN_USE_FOR_REMOVAL ] , [ NO_INFOMSGS ]  }
    ]

Arguments

( 'VŠICHNI' [ , pool_name ] )

  • ALL

    Specifikuje všechny podporované cache.

  • pool_name

    Specifikuje cache resource governor pool. Pouze vstupy spojené s tímto poolem jsou uvolněny. Pro seznam dostupných názvů poolů použijte následující:

    SELECT name FROM sys.dm_resource_governor_resource_pools;
    

Většinu, ale ne všechny, cache lze tímto příkazem jednotlivě uvolnit.

MARK_IN_USE_FOR_REMOVAL

Asynchronně uvolňuje aktuálně použité položky ze svých příslušných cache poté, co jsou nevyužité. Po skončení DBCC FREESYSTEMCACHE WITH MARK_IN_USE_FOR_REMOVAL nejsou nové záznamy vytvořené v cache ovlivněny.

NO_INFOMSGS

Potlačí všechny informační zprávy.

Poznámky

Spuštění DBCC FREESYSTEMCACHE vymaže cache plánu pro instanci SQL Serveru. Vymazání cache plánu způsobí překompilaci všech nadcházejících plánů a může způsobit náhlé, dočasné snížení výkonu dotazů. Pro každé vymazané úložiště cache v plánové cache obsahuje chybový log SQL Serveru následující informační zprávu:

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.

Tato zpráva se protokoluje každých pět minut, dokud se mezipaměť vyprázdní v daném časovém intervalu.

Sady výsledků

DBCC FREESYSTEMCACHE návraty:

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Povolení

Vyžaduje na serveru oprávnění ALTER SERVER STATE.

Examples

A. Uvolněte nevyužité záznamy cache z poolu Resource Governor

Následující příklad ilustruje, jak vyčistit cache vyhrazené pro určený zdrojový fond Resource Governor.

-- Clean all the caches with entries specific to the
-- resource pool named "default".
DBCC FREESYSTEMCACHE ('ALL', [default]);

B. Uvolněte záznamy ze svých příslušných cache poté, co se stanou nevyužitými

Následující příklad používá klauzuli MARK_IN_USE_FOR_REMOVAL k uvolnění položek ze všech aktuálních cache, jakmile se tyto položky stanou nevyužitými.

DBCC FREESYSTEMCACHE ('ALL') WITH MARK_IN_USE_FOR_REMOVAL;

Viz také