MSDN Library
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern

DBCC FREESYSTEMCACHE (Transact-SQL)

 

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data Warehouse

Gibt alle nicht verwendeten Cacheeinträge aus allen Caches frei. SQL Server-Datenbankmodul löscht nicht verwendete Cacheeinträge aktiv im Hintergrund und macht so neuen Speicherplatz für aktuelle Einträge verfügbar. Sie können mit diesem Befehl jedoch nicht verwendete Einträge aus allen Caches oder aus einem angegebenen Cache für den Ressourcenkontrollenpool löschen.

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version).

Topic link icon Transact-SQL-Syntaxkonventionen

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

( 'ALL' [,pool_name ] )
ALL gibt alle unterstützten Caches an.

pool_name gibt einen Cache für den Ressourcenkontrollenpool an. Nur diesem Pool zugeordnete Einträge werden freigegeben.

MARK_IN_USE_FOR_REMOVAL
Gibt zurzeit verwendete Einträge asynchron aus den jeweiligen Caches nach ihrer Verwendung frei. Neue Einträge, die nach der Ausführung von DBCC FREESYSTEMCACHE WITH MARK_IN_USE_FOR_REMOVAL im Cache erstellt wurden, sind nicht betroffen.

NO_INFOMSGS
Alle Informationsmeldungen werden unterdrückt.

DBCC FREESYSTEMCACHE gibt Folgendes zurück:

"Die DBCC-Ausführung wurde abgeschlossen. Falls DBCC Fehlermeldungen ausgegeben hat, wenden Sie sich an den Systemadministrator."

Durch das Ausführen von DBCC FREESYSTEMCACHE wird der Plancache für die Instanz von SQL Server gelöscht. Durch das Löschen des Plancaches wird eine Neukompilierung aller nachfolgenden Ausführungspläne verursacht, und möglicherweise entsteht plötzlich eine temporäre Verringerung der Abfrageleistung. Das SQL Server-Fehlerprotokoll enthält für jeden geleerten Cachespeicher im Plancache folgende Meldung zur Information: "Von SQL Server wurden für den '%s'-Cachespeicher (Bestandteil des Plancaches) %d Leerungen des Cachespeichers gefunden, die von 'DBCC FREEPROCCACHE'- oder 'DBCC FREESYSTEMCACHE'-Vorgängen ausgelöst wurden". Diese Meldung wird innerhalb dieses Zeitintervalls so lange alle fünf Minuten protokolliert, bis der Cache geleert ist.

Erfordert die ALTER SERVER STATE-Berechtigung auf dem Server.

A.Freigeben nicht verwendeter Cacheeinträge aus einem Cache für den Ressourcenkontrollenpool

Im folgenden Beispiel wird veranschaulicht, wie Caches geleert werden, die einem angegebenen Ressourcenpool für die Ressourcenkontrolle zugeordnet sind.

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

B.Freigeben von Einträgen aus den jeweiligen Caches nach ihrer Verwendung

Im folgenden Beispiel wird die MARK_IN_USE_FOR_REMOVAL-Klausel dazu verwendet, alle Einträge von allen aktuellen Caches nach ihrer Verwendung freizugeben.

DBCC FREESYSTEMCACHE ('ALL') WITH MARK_IN_USE_FOR_REMOVAL;  

DBCC (Transact-SQL)
DBCC FREEPROCCACHE (Transact-SQL)
DBCC FREESESSIONCACHE (Transact-SQL)
Ressourcenkontrolle

Community-Beiträge

Anzeigen:
© 2016 Microsoft