Condividi tramite


DBCC DROPCLEANBUFFERS (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

Rimuove tutti i buffer vuoti dal pool di buffer e gli oggetti columnstore dal pool di oggetti columnstore.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

Sintassi per SQL Server, database SQL di Azure e pool SQL serverless in Azure Synapse Analytics:

DBCC DROPCLEANBUFFERS [ WITH NO_INFOMSGS ]

Sintassi per Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW):

DBCC DROPCLEANBUFFERS ( COMPUTE | ALL ) [ WITH NO_INFOMSGS ]

Argomenti

WITH NO_INFOMSGS

Disattiva tutti i messaggi informativi. I messaggi informativi vengono sempre eliminati in Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW).

COMPUTE

Cancellare la cache dei dati in memoria da ogni nodo di calcolo.

ALL

Cancellare la cache dei dati in memoria da ogni nodo di calcolo e dal nodo di controllo. Questa è l'impostazione predefinita se non si specifica un valore.

Osservazioni:

Usare DBCC DROPCLEANBUFFERS per testare le query con una cache del buffer sporadico senza arrestare e riavviare il server. Per eliminare i buffer vuoti dal pool dei buffer e gli oggetti columnstore dal pool di oggetti columnstore, usare innanzitutto CHECKPOINT per creare una cache dei buffer a freddo. CHECKPOINT forza la scrittura di tutte le pagine dirty del database corrente su disco ed esegue la pulizia dei buffer. Dopo aver checkpointato il database, è possibile eseguire DBCC DROPCLEANBUFFERS il comando per rimuovere tutti i buffer dal pool di buffer.

In database SQL di Azure agisce DBCC DROPCLEANBUFFERS sull'istanza del motore di database che ospita il database corrente o il pool elastico. L'esecuzione DBCC DROPCLEANBUFFERS in un database utente elimina i buffer puliti per tale database. Se il database si trova in un pool elastico, elimina anche i buffer puliti in tutti gli altri database del pool elastico. L'esecuzione del master comando nel database non ha alcun effetto su altri database nello stesso server logico. L'esecuzione di questo comando in un database tramite l'obiettivo di servizio Basic, S0 o S1 può eliminare buffer puliti in altri database usando questi obiettivi di servizio nello stesso server logico.

Set di risultati

DBCC DROPCLEANBUFFERS in SQL Server restituisce:

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

Autorizzazioni

Si applica a: SQL Server, Piattaforma di strumenti analitici (PDW)

  • È richiesta l'autorizzazione sysadmin per il server

Si applica a: SQL Server 2022 e versioni successive

  • È richiesta l'autorizzazione ALTER SERVER STATE nel server

Si applica a: Database SQL di Azure

  • Richiede l'appartenenza al ruolo del server ##MS_ServerStateManager##

Si applica a: Azure Synapse Analytics

  • Richiede l'appartenenza al ruolo predefinito del server db_owner

Vedi anche