Compartilhar via


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 de servidor min memory per query no SQL Server usando o SQL Server Management Studio ou o Transact-SQL. A opção min memory per query especifica a quantidade mínima de memória (em quilobytes) para alocar 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 definida como 2.048 KB, a consulta terá a garantia de obter no mínimo esse 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

Essa opção é uma opção avançada e deve ser alterada apenas por um profissional de banco de dados experiente.

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 memória mínima por consulta pode melhorar o desempenho para algumas consultas de tamanho pequeno a médio, mas fazer isso poderia conduzir a uma maior competição 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 mínima de memória por servidor de consulta com um valor alto demais, especialmente em sistemas muito ativos, pois, nesse caso, a consulta tem que esperar1 até que possa assegurar 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 necessário especificado para executar a consulta, ela pode usar a memória adicional, se a memória puder ser usada com eficiência pela consulta.

1 Nesse cenário, o tipo de espera normalmente é RESOURCE_SEMAPHORE. Para obter mais informações, confira 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

  1. No Pesquisador de Objetos, clique com o botão direito do mouse em um servidor e selecione Propriedades.

  2. Selecione o nó Memória.

  3. Na caixa Memória mínima por consulta, insira a quantidade mínima de memória (em quilobytes) que será alocada para a execução de uma consulta.

Usar o Transact-SQL

  1. Conecte-se ao Mecanismo de Banco de Dados.

  2. Na barra Padrão, selecione Nova Consulta.

  3. 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 como 3500 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 memória mínima por consulta

A configuração entra em vigor imediatamente sem reiniciar o servidor.