Dela via


DBCC FREESYSTEMCACHE (Transact-SQL)

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Släpper alla oanvända cacheposter från alla cacheminnen. SQL Server Database Engine rensar proaktivt oanvända cacheposter i bakgrunden för att göra minnet tillgängligt för aktuella poster. Du kan dock använda det här kommandot för att manuellt ta bort oanvända poster från varje cacheminne eller från en angiven Resource Governor-poolcache.

Transact-SQL syntaxkonventioner

Syntax

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

Argument

( 'ALL' [ , pool_name ] )

  • ALLA

    Anger alla cacheminnen som stöds.

  • pool_name

    Anger ett cacheminne för resursguvernörpoolen. Endast poster som är associerade med den här poolen frigörs. Kör för att visa en lista över tillgängliga poolnamn:

    SELECT name FROM sys.dm_resource_governor_resource_pools;
    

De flesta, men inte alla, cacheminnen kan frigöras individuellt med hjälp av det här kommandot.

MARK_IN_USE_FOR_REMOVAL

Asynkront frigör för närvarande använda poster från sina respektive cacheminnen när de inte används. När DBCC FREESYSTEMCACHE WITH MARK_IN_USE_FOR_REMOVAL körs påverkas inte nya poster som skapats i cacheminnet.

NO_INFOMSGS

Undertrycker alla informationsmeddelanden.

Anmärkningar

Om du kör DBCC FREESYSTEMCACHE rensas plancachen för instansen av SQL Server. Om du rensar plancachen blir det en omkompilering av alla kommande körningsplaner och kan orsaka en plötslig, tillfällig minskning av frågeprestanda. För varje rensat cachelager i plancachen innehåller SQL Server-felloggen följande informationsmeddelande:

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.

Det här meddelandet loggas var femte minut så länge cacheminnet rensas inom det tidsintervallet.

Resultatuppsättningar

DBCC FREESYSTEMCACHE returnerar:

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

Behörigheter

Kräver ALTER SERVER STATE-behörighet på servern.

Exempel

A. Släppa oanvända cacheposter från en Resource Governor-poolcache

I följande exempel visas hur du rensar cacheminnen som är dedikerade till en angiven resurspool för Resource Governor.

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

B. Frigöra poster från respektive cacheminne när de har blivit oanvända

I följande exempel används MARK_IN_USE_FOR_REMOVAL-satsen för att frigöra poster från alla aktuella cacheminnen när posterna blir oanvända.

DBCC FREESYSTEMCACHE ('ALL') WITH MARK_IN_USE_FOR_REMOVAL;

Se även