Opção awe enabled
Esse recurso será removido na próxima versão do Microsoft SQL Server. Não utilize esse recurso em desenvolvimentos novos e modifique, assim que possível, os aplicativos que atualmente o utilizam.
No SQL Server, é possível usar a API AWE (Address Windowing Extensions) para fornecer acesso à memória física em excesso dos limites definidos em uma memória virtual configurada. A quantidade específica de memória que você pode usar depende da configuração de hardware e do suporte do sistema operacional. A quantidade de memória física suportada aumentou com a introdução dos sistemas operacionais Microsoft Windows Server 2003. A memória física acessível pelo recurso AWE, portanto, depende do sistema operacional em uso.
O Windows Server 2003, Standard Edition, suporta até 4 GB de memória física.
O Windows Server 2003, Enterprise Edition, suporta até 32 GB de memória física.
O Windows Server 2003, Datacenter Edition, suporta até 64 GB de memória física.
Observação |
---|
O recurso AWE não é necessário e não é configurado nos sistemas operacionais de 64 bits. |
Considerações de uso
Antes de habilitar o recurso AWE, considere as seguintes diretrizes específicas do sistema operacional:
Windows 2000
Se a memória física disponível for menor que o limite configurado no espaço de endereço da memória virtual, a memória mapeada do recurso AWE não poderá ser habilitada. Nesse caso, a memória é alocada dinamicamente e o SQL Server é executado em modo não AWE, independente da configuração awe enabled.
Se a memória física disponível for maior que a memória virtual acessível, a memória mapeada para AWE pode ser ativada. Nesse caso, existem duas condições:
Se a memória física disponível for maior que o valor da opção max server memory, a instância do SQL Server bloqueará a quantidade de memória especificada em max server memory.
Se a memória física disponível for menor que o valor da opção max server memory ou se a opção max server memory não foi definida, a instância do SQL Server bloqueará toda a memória disponível que ultrapassar 128 MB.
A memória mapeada para AWE não será liberada até que o SQL Server seja desligado. A Microsoft recomenda que, sempre que o recurso AWE for habilitado, você defina um valor para a opção max server memory considerando os requisitos de memória de outros aplicativos em execução no servidor.
Windows Server 2003
O SQL Server suporta a alocação dinâmica de memória mapeada para AWE no Windows Server 2003. O recurso AWE amplia a capacidade dos aplicativos executados em sistemas operacionais de 32 bits ao permitir o acesso à memória física disponível além dos limites definidos no espaço de endereço da memória virtual configurada.
Durante a inicialização, o SQL Server reserva apenas uma pequena parte da memória mapeada para AWE. Como é necessária uma memória mapeada para AWE adicional, o sistema operacional a aloca dinamicamente ao SQL Server. Da mesma forma, se forem necessários menos recursos, o SQL Server pode devolver a memória mapeada para AWE ao sistema operacional para ser usada por outros processos ou aplicativos. Esse equilíbrio entre o SQL Server e o sistema operacional está sujeito às restrições dos parâmetros min server memory e max server memory.
Ao executar o SQL Server com Windows Server 2003, o SQL Server responde às alterações nas opções de configuração max server memory e min server memory sem precisar reiniciar a instância do SQL Server. Para obter mais informações sobre min server memory e max server memory, consulte Opções de memória do servidor.
No Windows Server 2003, a memória mapeada para AWE dinâmica é suportada em servidores com menos memória física que o limite do espaço de endereço da memória virtual. Não há impacto sobre o desempenho quando o recurso AWE é usado sob essa condição, mas quando é adicionada memória física superior ao limite de endereço de memória virtual, ele pode ser usado sem a reinicialização do servidor.
Tanto no Windows 2000 como no Windows Server 2003, a memória de AWE não pode ser trocada por arquivos de página. Portanto, você deve determinar quanta memória pode alocar com segurança a instâncias do SQL Server identificando quanto haverá de memória disponível depois que todos os aplicativos usados no computador forem iniciados.
Use o contador SQL ServerMemória Total do Servidor (KB) do Monitor do Sistema para determinar quanta memória foi alocada pela instância do SQL Server em execução em modo AWE. Configure a opção max server memory de modo a deixar memória extra livre para suprir as necessidades dos outros aplicativos, do Windows 2000 e do Windows Server 2003. Para obter mais informações, consulte Monitorando o uso da memória.
Importante |
---|
O uso de awe enabled e max server memory pode afetar o desempenho de outros aplicativos ou do SQL Server em execução em um ambiente com várias instâncias ou de cluster. Para obter mais informações sobre o uso da memória mapeada para AWE, consulte Gerenciando memória para bancos de dados grandes. |
Habilitando AWE
Para habilitar o recurso AWE, defina awe enabled como 1. No Windows 2000, exceto se foi especificado um valor para max server memory, o SQL Server reservará quase toda a memória disponível durante a inicialização, deixando 128 megabytes (MB) ou menos de memória física para outros aplicativos. (Quando o recurso AWE não está habilitado, a quantidade de memória física disponível para outros aplicativos pode ser controlada pela opção max server memory.) No Windows Server 2003, o gerenciamento da memória mapeada para o recurso AWE é dinâmico, de modo que apenas uma pequena parte do total de memória física é alocada durante a inicialização.
Se a opção foi habilitada com sucesso, a mensagem “Address Windowing Extensions enabled” será registrada no log de erros do SQL Server quando a instância do SQL Server for iniciada.
Observação |
---|
A permissão LOCK PAGE IN MEMORY deve ser concedida à conta SQL Server antes da habilitação do recurso AWE. Para obter mais informações, consulte Como habilitar a opção bloquear páginas na memória (Windows). |
A opção awe enabled é uma opção avançada. Se você estiver usando o procedimento armazenado do sistema sp_configure para alterar a configuração, será possível alterar a opção awe enabled somente quando show advanced options estiver definida como 1. Reinicie a instância do SQL Server para que o recurso AWE tenha efeito.
Exemplo
O exemplo a seguir mostra como habilitar o recurso AWE e configurar min server memory para 1 GB e max server memory para 6 GB:
Primeiro, habilite o recurso AWE:
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
Depois da reinicialização do SQL Server, a mensagem a seguir deve aparecer no log de erros do SQL Server: Address Windowing Extensions enabled.
Em seguida, configure a memória:
sp_configure 'min server memory', 1024
RECONFIGURE
GO
sp_configure 'max server memory', 6144
RECONFIGURE
GO
No exemplo anterior de SQL Server e Windows Server 2003, as configurações de memória direcionam o pool de buffers para gerenciar de forma dinâmica a memória mapeada para o recurso AWE entre 1 GB e 6 GB. (Esse exemplo de AWE dinâmico não é válido para o SQL Server 2000.) Se outros aplicativos precisarem de mais memória, o SQL Server poderá liberar a memória alocada mapeada para o recurso AWE se ela não for necessária. Nesse exemplo, o limite de 1 GB da memória mapeada para o recurso AWE poderá ser liberado, o limite da opção min server memory limit.
Observe que a configuração da opção min server memory como 1 GB não força automaticamente o SQL Server a usar 1 GB de memória. A memória será alocada sob demanda, com base na carga do servidor de banco de dados.
Desabilitando AWE
Para desabilitar o recurso AWE, defina awe enabled como 0 e execute a instrução RECONFIGURE. Por padrão, a memória para o recurso AWE permanece desabilitada. O log de erros do SQL Server registra a alteração feita na opção awe enabled. Após a reinicialização, o SQL Server funcionará no modo normal de alocação de memória dinâmica e a memória disponível será limitada ao espaço de endereço virtual ou à memória física, o que for menor.