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

  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 kilobytes) a 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 de memória mínima por consulta

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