Partilhar via


DBCC DROPCLEANBUFFERS (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)

Remove todos os buffers limpos do pool de buffers e os objetos de columnstore do pool de objetos columnstore.

Convenções de sintaxe Transact-SQL

Sintaxe

Sintaxe para SQL Server, Banco de Dados SQL do Azure e pool de SQL sem servidor no Azure Synapse Analytics:

DBCC DROPCLEANBUFFERS [ WITH NO_INFOMSGS ]

Sintaxe para Azure Synapse Analytics e PDW (Analytics Platform System):

DBCC DROPCLEANBUFFERS ( COMPUTE | ALL ) [ WITH NO_INFOMSGS ]

Observação

Para ver a sintaxe do Transact-SQL para o SQL Server 2014 e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

WITH NO_INFOMSGS

Suprime todas as mensagens informativas. As mensagens informativas sempre são suprimidas no Azure Synapse Analytics e no PDW (Analytics Platform System).

COMPUTE

Limpar o cache de dados na memória de cada nó de computação.

ALL

Limpar o cache de dados na memória de cada nó de computação e do nó de controle. Essa configuração será o padrão se você não especificar um valor.

Comentários

Use DBCC DROPCLEANBUFFERS para testar consultas com um cache de buffer frio sem desligar e reiniciar o servidor. Para remover buffers limpos dos objetos de columnstore e do pool de buffers do pool de objetos columnstore, primeiro use CHECKPOINT para produzir um cache de buffer frio. CHECKPOINT faz com que todas as páginas sujas do banco de dados atual sejam gravadas no disco e limpa os buffers. Depois de fazer o ponto de verificação do banco de dados, é possível emitir o comando DBCC DROPCLEANBUFFERS a fim de remover todos os buffers do pool de buffers.

No Banco de Dados SQL do Azure, DBCC DROPCLEANBUFFERS atua na instância do mecanismo de banco de dados que hospeda o banco de dados ou o pool elástico atual. A execução de DBCC DROPCLEANBUFFERS em um banco de dados de usuário remove os buffers limpos desse banco de dados. Se o banco de dados estiver em um pool elástico, ele também removerá buffers limpos em todos os outros bancos de dados nesse pool elástico. Executar o comando no banco de dados master não tem nenhum efeito em outros bancos de dados no mesmo servidor lógico. Executar esse comando em um banco de dados usando o objetivo de serviço Básico, S0 ou S1 pode remover buffers limpos em outros bancos de dados usando esses objetivos de serviço no mesmo servidor lógico.

Conjuntos de resultados

DBCC DROPCLEANBUFFERS no SQL Server retorna o seguinte:

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

Permissões

Aplica-se a: SQL Server, PDW (Analytics Platform System)

  • Requer permissão sysadmin no servidor

Aplica-se ao: SQL Server 2022 e versões posteriores

  • Exige a permissão ALTER SERVER STATE no servidor

Aplica-se ao: Banco de Dados SQL do Azure

  • Exige a associação na função de servidor ##MS_ServerStateManager##

Aplica-se a: Azure Synapse Analytics

  • Exige a associação na função de servidor fixa db_owner

Confira também