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