Configuração do servidor: memória mínima por consulta
Aplica-se: SQL Server
Este artigo descreve como configurar a opção de configuração do servidor no SQL Server usando o min memory per query
SQL Server Management Studio ou o Transact-SQL. A min memory per query
opção especifica a quantidade mínima de memória (em kilobytes) a ser alocada para a execução de uma consulta. Isso também é conhecido como a concessão de memória mínima. Por exemplo, se min memory per query
for definido como 2.048 KB, a consulta terá a garantia de obter pelo menos essa quantidade total de memória. O valor padrão é 1.024 KB. O valor mínimo é de 512 KB e o valor máximo é 2.147.483.647 KB (2 GB).
Limitações
A quantidade mínima de memória por consulta tem precedência sobre a opção index create memory. Quando ambas as opções são modificadas, e a index create memory é inferior à min memory per query, você recebe uma mensagem de aviso, mas o valor é definido. Durante a execução da consulta, você receberá um outro aviso semelhante.
Recomendações
Esta é uma opção avançada e deve ser alterada somente por um administrador de banco de dados experiente ou por um profissional de SQL Server certificado.
O processador de consulta do SQL Server tenta determinar a quantidade ideal de memória a ser alocada para uma consulta. A opção min memory per query deixa o administrador especificar a quantia mínima de memória que qualquer consulta única recebe. As consultas geralmente receberão mais memória que isso se tiverem operações hash e de classificação em um grande volume de dados. Aumentar o valor de min memory por consulta pode melhorar o desempenho de algumas consultas de pequeno a médio porte, mas isso pode levar a uma maior concorrência por recursos de memória. A opção min memory per query inclui a memória alocada para as operações de classificação.
Não defina a opção de configuração de memória mínima por servidor de consulta muito alta, especialmente em sistemas muito ocupados, pois a consulta precisa aguardar1 até que possa proteger a memória mínima solicitada ou até que o valor especificado na opção de configuração do servidor de espera de consulta seja excedido. Se houver mais memória disponível do que o valor mínimo especificado necessário para executar a consulta, a consulta poderá usar a memória extra, se a memória puder ser usada efetivamente pela consulta.
1 Nesse cenário, o tipo de espera normalmente RESOURCE_SEMAPHORE
é . Para obter mais informações, consulte sys.dm_os_wait_stats.
Permissões
Permissões de execução sem parâmetros ou com apenas o primeiro parâmetro em sp_configure
são concedidas a todos os usuários por padrão. Para executar sp_configure
com ambos os parâmetros para alterar uma opção de configuração ou executar a instrução RECONFIGURE
, o usuário deve ter a permissão ALTER SETTINGS
no nível do servidor. A permissão ALTER SETTINGS
é implicitamente mantida pelas funções de servidor fixas sysadmin e serveradmin.
Usar o SQL Server Management Studio
No Pesquisador de Objetos, clique com o botão direito do mouse em um servidor e selecione Propriedades.
Selecione o nó Memória .
Na caixa Memória mínima por consulta, insira a quantidade mínima de memória (em kilobytes) a ser alocada para a execução de uma consulta.
Usar o Transact-SQL
Conecte-se ao Mecanismo de Banco de Dados.
Na barra Padrão, selecione Nova Consulta.
Copie e cole o exemplo a seguir na janela de consulta e selecione Executar. Este exemplo mostra como usar sp_configure para definir o valor da opção
min memory per query
como3500
KB.USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXECUTE sp_configure 'min memory per query', 3500; GO RECONFIGURE; GO EXECUTE sp_configure 'show advanced options', 0; GO RECONFIGURE; GO
Acompanhamento: depois de configurar a opção de memória mínima por consulta
A configuração entra em vigor imediatamente sem reiniciar o servidor.