Para ver o artigo completo visite o link http://www.sql-server-performance.com/awe_memory.asp
Na hora de configurarmos a memória de um servidor SQL Server, devemos sempre nos lembrar que para uma instalação default o SQL Server gerencia a memória dinamicamente e consegue gerenciar até 3GB de memória. No entanto, para ele atingir a utilização dos 3GB, a opção /3GB deve ser adicionada no arquivo boot.ini do servidor.
Isto significa que se tivermos um servidor com 4GB e configurarmos o SQL Server para utilizar os 4GB, ele jamais conseguirá ultrapassar os 3GB. Se a opção /3GB não estiver no boot.ini, o limite será de 2GB, embora na maioria das vezes o valor ainda fique abaixo disso.
Uma solução para ele atingir o 4GB seria habilitar a opção AWE (sp_configure). Porém, devemos também nos lembrar que quando habilitamos o AWE, logo ao iniciar o SQL Server aloca toda a memória configurada como Max Server Memory, neste caso ele irá alocar os 4GB e você passará a ter problemas com o sistema operacional (o SQL deixa apenas 128MB para o SO). O que se pode fazer aqui é configurar o Max Server Memory com 3.5GB e deixar apenas 500MB para o S.O.
No geral, uma boa prática de configuração de memória é a descrita no quadro abaixo:
Configuração do Boot.ini, AWE e Max Server Memory | |||
Quantidade de Memória Física | Boot.Ini | AWE | Max Server Memory |
2GB | | AWE = 0 | +- 1300 MB |
> 2GB e <= 4GB | /3GB | AWE = 0 | Total de mem. Física menos 1GB |
> 4GB e < = 8GB | /3GB /PAE | AWE = 1 | Total de mem. Física menos 1GB |
> 8GB e < = 16GB | /3GB /PAE | AWE = 1 | Total de mem. Física menos 1GB |
> 16GB | /PAE | AWE = 1 | Total de mem. Física menos 2GB |
Obs: Até 16GB uma boa prática é deixar 1GB livre para o S.O, principalmente se for Windows 2003 | |||
Obs: Acima de 16GB devemos deixar 2 GB para o S.O | |||
Problemas Comuns: É comum em servidores com até 4GB, no TaskManager mostrar pouco mais de 3.6GB. Nestes casos não devemos habilitar o /PAE. | |||
Para monitorar a utilização de memória pelo SQL Server, procure monitorar os contadores:
Process: Working Set (sqlservr.exe)
SQL Server: Buffer Manager: Total Pages
SQL Server: Memory Manager: Total Server Memory (KB)
SQL Server: Memory Manager: Target Server Memory (KB)
Uma boa sugestão aqui é usar também o DBCC MEMORYSTATUS. Para mais informações veja o artigo http://www.mcdbabrasil.com.br/modules.php?name=News&file=article&sid=250

