Condividi tramite


DBCC DROPCLEANBUFFERS (Transact-SQL)

Si applica a: SQL Server Azure SQL DatabaseIstanza gestita di SQL di Azure Azure SynapseAnalytics AnalyticsPlatform System (PDW)

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

Convenzioni di sintassi Transact-SQL

Sintassi

Sintassi per SQL Server, database Azure SQL 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 ]

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 e versioni precedenti, vedere Documentazione delle versioni precedenti.

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 a freddo 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 eseguito il checkpoint del database, è possibile eseguire DBCC DROPCLEANBUFFERS il comando per rimuovere tutti i buffer dal pool di buffer.

In Azure SQL Database agisce DBCC DROPCLEANBUFFERS nell'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 di tale pool elastico. L'esecuzione del master comando nel database non ha alcun effetto sugli altri database nello stesso server logico. L'esecuzione di questo comando in un database usando l'obiettivo del 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 DROPCLEANBUFFERSin 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)

  • Richiede l'autorizzazione sysadmin nel server

Si applica a: SQL Server 2022 e versioni successive

  • Richiede 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