Teilen über


DBCC DROPCLEANBUFFERS (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics 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 ]

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 oder früher finden Sie unter Dokumentation zu früheren Versionen.

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.

Weitere Informationen