DBCC DROPCLEANBUFFERS (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Entfernt alle leeren Puffer aus dem Pufferpool und alle Columnstore-Objekte aus dem Columnstore-Objektpool.
Transact-SQL-Syntaxkonventionen
Syntax
Syntax für SQL Server, Azure SQL-Datenbank und serverlose SQL-Pools in Azure Synapse Analytics:
DBCC DROPCLEANBUFFERS [ WITH NO_INFOMSGS ]
Syntax für Azure Synapse Analytics und Analytics-Plattformsystem (PDW):
DBCC DROPCLEANBUFFERS ( COMPUTE | ALL ) [ WITH NO_INFOMSGS ]
Argumente
WITH NO_INFOMSGS
Alle Informationsmeldungen werden unterdrückt. Informationsmeldungen werden bei Azure Synapse Analytics und Analytics-Plattformsystem (PDW) immer unterdrückt.
COMPUTE
Löschen Sie den Datencache im Arbeitsspeicher jedes Computeknotens.
ALL
Löschen Sie den Datencache im Arbeitsspeicher jedes Computerknotens und des Steuerknotens. Diese Einstellung wird als Standardeinstellung verwendet, wenn Sie keinen Wert angeben.
Bemerkungen
Verwenden Sie DBCC DROPCLEANBUFFERS
, um Abfragen mit einem frischen Puffercache zu testen, ohne den Server herunterzufahren und neu zu starten.
Sie müssen zunächst mithilfe von CHECKPOINT einen neuen Puffercache erzeugen, um leere Puffer aus dem Pufferpool und Columnstore-Objekte aus dem Columnstore-Objektpool zu entfernen. Durch CHECKPOINT wird erzwungen, dass alle modifizierten Seiten der aktuellen Datenbank auf den Datenträger geschrieben und die Puffer geleert werden. Nach der Verwendung von CHECKPOINT für die Datenbank können Sie durch Ausführen des Befehls DBCC DROPCLEANBUFFERS
alle Puffer aus dem Pufferpool entfernen.
In Azure SQL-Datenbank wird DBCC DROPCLEANBUFFERS
auf die Datenbank-Engine-Instanz angewendet, die die aktuelle Datenbank oder den Pool für elastische Datenbanken hostet. Durch das Ausführen von DBCC DROPCLEANBUFFERS
in einer Benutzerdatenbank werden bereinigte Puffer für diese Datenbank gelöscht. Wenn sich die Datenbank in einem Pool für elastische Datenbanken befindet, werden auch bereinigte Puffer in allen anderen Datenbanken in diesem Pool für elastische Datenbanken gelöscht. Das Ausführen des Befehls in der master
-Datenbank hat keine Auswirkungen auf andere Datenbanken auf demselben logischen Server. Durch die Ausführung dieses Befehls in einer Datenbank unter Verwendung des Dienstziels „Basic“, „S0“ oder „S1“ können bereinigte Puffer in anderen Datenbanken gelöscht werden, die dieselben Dienstziele auf demselben logischen Server verwenden.
Resultsets
DBCC DROPCLEANBUFFERS
auf SQL Server gibt Folgendes zurück:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Berechtigungen
Gilt für: SQL Server, Analytics-Plattformsystem (PDW)
- Erfordert die sysadmin-Berechtigung auf dem Server
Gilt für: SQL Server 2022 und höher
- Erfordert die ALTER SERVER STATE-Berechtigung auf dem Server.
Gilt für: Azure SQL-Datenbank
- Erfordert die Mitgliedschaft in der Serverrolle ##MS_ServerStateManager##.
Gilt für: Azure Synapse Analytics
- Erfordert die Mitgliedschaft in der festen Serverrolle db_owner.