Trabalhando em um projeto, precisamos primeiro estabilizar e depois atualizar.
Temos uma edição Enterprise de 32 bits do SQL Server 2005 instalado em um servidor padrão do Windows 2008 de 64 bits.
O servidor possui 64 GB de RAM instalados, porém no taskmgr existem apenas 32 GB disponíveis. Acredito que seja uma limitação padrão do Windows Server, só quero confirmar.
Por outro lado, verificamos os contadores de memória do SQL Server no perfmon, e o valor que obtemos para o destino e a memória total é de cerca de 3.500.000, então acho que o SQL Server está usando cerca de 3,5 GB??
Quero perguntar sobre as configurações que precisamos fazer para que o SQL Server use o máximo de memória possível, espero que 28 GB, deixando 4 GB para SO, pois não temos outros serviços nesta máquina.
Isso é o que estou planejando até agora, mas como é um ambiente de produção, o ideal seria tentar acertar em uma tentativa, porque não quero parar os serviços muitas vezes:
A conta de serviço é Sistema Local, mas não consigo ver "Usando páginas bloqueadas para pool de buffers" nos logs do SQL Server. Preciso mudar para outra conta de usuário para aproveitar a política de "bloquear páginas na memória"? O que posso ver no log do SQL Server é o seguinte: "Usando alocação dinâmica de bloqueio. Alocação inicial de 2.500 blocos de bloqueio e 5.000 blocos de proprietário de bloqueio por nó. Esta é uma mensagem apenas informativa. Nenhuma ação do usuário é necessária."
A propriedade de memória máxima do servidor é definida como 10240; Acho que depois de habilitar as páginas de bloqueio na memória, precisarei aumentar isso para 28000
Como este é um sistema operacional de 64 bits, não há necessidade de ativar o AWE. No entanto, no log do servidor SQL, posso ver esta mensagem: "Set AWE Enabled to 1 nos parâmetros de configuração para permitir o uso de mais memória".
Mais alguma coisa que preciso levar em consideração para habilitar mais memória para o SQL Server??
A limitação de memória máxima correta para o Windows Server 2008 Standard é de 32 GB. Isso é mencionado em Limites de memória de máquinas Windows Server .
Quando o SQL Server de 32 bits é instalado em uma máquina de 64 bits, ele é chamado de
WOW System
. Para isso, o limite do Espaço de Endereço Virtual é de 4 GB. E na configuração normal e padrão o SQL Server não pode ver/utilizar mais memória do que o limite VAS, então você está vendo 3,5 GB nos contadores Perfmon.Como você está em um sistema de 32 bits, você não deve procurar por esta mensagem, em vez disso, procure por "Address Windowing Extensions is enabled", se você vir isso, ele está ativado. Se você tiver um sistema de 64 bits, a mensagem "Usando páginas bloqueadas para o buffer pool" faz sentido. Na verdade, é assim que o AWE funciona em 32 e 64 bits, respectivamente.
Não, isso é verdade para o SQL Server de 64 bits, não se você tiver o SQL Server de 32 bits.
Agora, para que o SQL Server veja mais memória, você precisa habilitar o AWE para que os dados do SQL Server e as páginas de índice possam ver mais memória do que 4 GB. Como suas janelas podem ver mais de 4 GB (no seu caso, 32 GB), o AWE ajudaria os dados do SQL Server e as páginas de índice acessando uma parte maior da memória. Observe que mencionei páginas de dados e índices, além disso, nenhum outro consumidor de memória pode ver essas memórias extras.
PS: No momento em que escrevo a resposta a maioria dos
blogs.msdn
links não estão abrindo pois estão sendo migrados para nova plataforma, adicionarei os links na resposta assim que começarem a funcionar para que você tenha alguma referência para ler