Megosztás a következőn keresztül:


DBCC FREESYSTEMCACHE (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Minden fel nem használt gyorsítótár-bejegyzést felszabadít az összes gyorsítótárból. Az SQL Server adatbázismotor proaktív módon megtisztítja a nem használt gyorsítótár-bejegyzéseket a háttérben, hogy a memória rendelkezésre álljon az aktuális bejegyzésekhez. Ezzel a paranccsal azonban manuálisan eltávolíthatja a nem használt bejegyzéseket az összes gyorsítótárból vagy egy megadott Resource Governor-készletgyorsítótárból.

Transact-SQL szintaxis konvenciói

Szintaxis

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

Érvek

( 'MIND' [ , pool_name ] )

  • ÖSSZES

    Az összes támogatott gyorsítótárat megadja.

  • pool_name

    Erőforrás-vezérlő készletgyorsítótárát adja meg. A rendszer csak a készlethez társított bejegyzéseket szabadít fel. Az elérhető készletnevek listázásához futtassa a következőt:

    SELECT name FROM sys.dm_resource_governor_resource_pools;
    

A legtöbb, de nem az összes gyorsítótár külön-külön felszabadítható ezzel a paranccsal.

MARK_IN_USE_FOR_REMOVAL

Aszinkron módon felszabadítja a jelenleg használt bejegyzéseket a saját gyorsítótáraikból a használatuk után. A DBCC FREESYSTEMCACHE WITH MARK_IN_USE_FOR_REMOVAL futtatása után a gyorsítótárban létrehozott új bejegyzések nem lesznek hatással.

NO_INFOMSGS

Letiltja az összes tájékoztató üzenetet.

Megjegyzések

A DBCC FREESYSTEMCACHE futtatása törli az SQL Server-példány csomaggyorsítótárát. A tervgyorsítótár törlése az összes közelgő végrehajtási terv újrafordítását okozza, és a lekérdezési teljesítmény hirtelen, ideiglenes csökkenését okozhatja. A tervgyorsítótár minden törölt gyorsítótár-tárolója esetében az SQL Server hibanaplója a következő tájékoztató üzenetet tartalmazza:

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.

Ezt az üzenetet öt percenként naplózza a rendszer, amíg a gyorsítótárat az adott időintervallumon belül kiüríti a rendszer.

Eredményhalmazok

DBCC FREESYSTEMCACHE a következőt adja vissza:

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

Engedélyek

Alter SERVER STATE-engedélyt igényel a kiszolgálón.

Példák

Egy. Nem használt gyorsítótárbejegyzések felszabadítása a Resource Governor készletgyorsítótárából

Az alábbi példa bemutatja, hogyan lehet megtisztítani egy adott Resource Governor-erőforráskészlethez dedikált gyorsítótárakat.

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

B. A saját gyorsítótáraikból származó kibocsátási bejegyzések, miután használaton kívül lettek

Az alábbi példa a MARK_IN_USE_FOR_REMOVAL záradékot használja az összes jelenlegi gyorsítótár bejegyzéseinek kiadására, miután a bejegyzések fel nem használttá váltak.

DBCC FREESYSTEMCACHE ('ALL') WITH MARK_IN_USE_FOR_REMOVAL;

Lásd még: