Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Libera todas as entradas de cache não utilizadas de todos os caches. O Mecanismo de Banco de Dados do SQL Server limpa proativamente as entradas de cache não utilizadas em segundo plano para disponibilizar memória para as entradas atuais. No entanto, você pode usar esse comando para remover manualmente entradas não utilizadas de cada cache ou de um cache de pool do Administrador de Recursos especificado.
Transact-SQL convenções de sintaxe
Sintaxe
DBCC FREESYSTEMCACHE
( 'ALL' [ , pool_name ] )
[ WITH
{ [ MARK_IN_USE_FOR_REMOVAL ] , [ NO_INFOMSGS ] }
]
Argumentos
( «TODOS» [ , pool_name ] )
TUDO
Especifica todos os caches suportados.
pool_name
Especifica um cache do pool do administrador de recursos. Apenas as entradas associadas a este pool são liberadas. Para listar os nomes de pool disponíveis, execute:
SELECT name FROM sys.dm_resource_governor_resource_pools;
A maioria, mas não todos, os caches podem ser liberados individualmente usando esse comando.
MARK_IN_USE_FOR_REMOVAL
Libera de forma assíncrona as entradas usadas atualmente de seus respetivos caches depois que elas não são usadas. Depois que o DBCC FREESYSTEMCACHE WITH MARK_IN_USE_FOR_REMOVAL é executado, as novas entradas criadas no cache não são afetadas.
NO_INFOMSGS
Suprime todas as mensagens informativas.
Comentários
A execução DBCC FREESYSTEMCACHE limpa o cache de plano para a instância do SQL Server. Limpar o cache do plano causa uma recompilação de todos os planos de execução futuros e pode causar uma redução súbita e temporária no desempenho da consulta. Para cada armazenamento de cache limpo no cache de plano, o log de erros do SQL Server contém a seguinte mensagem informativa:
SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to 'DBCC FREEPROCCACHE' or 'DBCC FREESYSTEMCACHE' operations.
Essa mensagem é registrada a cada cinco minutos, desde que o cache seja liberado dentro desse intervalo de tempo.
Conjuntos de resultados
DBCC FREESYSTEMCACHE devoluções:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Permissões
Requer a permissão ALTER SERVER STATE no servidor.
Exemplos
Um. Liberar entradas de cache não utilizadas de um cache do pool do Administrador de Recursos
O exemplo a seguir ilustra como limpar caches dedicados a um pool de recursos especificado do Administrador de Recursos.
-- Clean all the caches with entries specific to the
-- resource pool named "default".
DBCC FREESYSTEMCACHE ('ALL', [default]);
B. Liberar entradas de seus respetivos caches depois que elas não forem usadas
O exemplo a seguir usa a cláusula MARK_IN_USE_FOR_REMOVAL para liberar entradas de todos os caches atuais quando as entradas não forem usadas.
DBCC FREESYSTEMCACHE ('ALL') WITH MARK_IN_USE_FOR_REMOVAL;