Published on

March 16, 2023

Compreendendo e Habilitando o Bloqueio de Páginas na Memória para o SQL Server

O Bloqueio de Páginas na Memória é uma configuração crucial para lidar com pressão de memória em um servidor Windows ao usar o SQL Server. Neste tutorial, exploraremos essa configuração e discutiremos os passos para habilitá-la ou desabilitá-la em seus servidores.

O que é o Bloqueio de Páginas na Memória?

O Bloqueio de Páginas na Memória (LPIM) é uma política do Windows que impede o sistema de paginar dados para a memória virtual no disco durante a pressão de memória. Ao bloquear os dados na memória física, o LPIM melhora o desempenho do sistema e pode ser especialmente benéfico para o SQL Server. Para utilizar esse recurso no SQL Server, você deve habilitar a configuração para suas instâncias do SQL Server. Se você estiver enfrentando degradação de desempenho ou paginação de memória em seu servidor e não tiver habilitado essa configuração, adicionar a conta de serviço do SQL Server a essa política do Windows pode ajudar a reduzir erros, como o erro 17890, no arquivo de log de erros do SQL Server.

Verificando a Configuração do Bloqueio de Páginas na Memória

Existem várias maneiras de verificar se o Bloqueio de Páginas na Memória está habilitado para sua instância do SQL Server em um servidor Windows. Aqui estão quatro métodos diferentes:

Método 1: Usando T-SQL

Você pode executar a seguinte instrução T-SQL para verificar a configuração do Bloqueio de Páginas na Memória:

SELECT a.memory_node_id, node_state_desc, a.locked_page_allocations_kb
FROM sys.dm_os_memory_nodes a
INNER JOIN sys.dm_os_nodes b ON a.memory_node_id = b.memory_node_id

Se a saída de “locked_page_allocations_kb” for 0, significa que a configuração está desabilitada para o SQL Server.

Método 2: Verificando o Log de Erros do SQL Server

Você pode examinar o arquivo de log de erros do SQL Server para determinar se o Bloqueio de Páginas na Memória está habilitado. Se o log mostrar que o SQL Server está “usando memória convencional no gerenciador de memória”, isso indica que a configuração não está habilitada.

Método 3: Visualizando a Política do Windows Bloqueio de Páginas na Memória

Você pode inspecionar a janela de propriedades da política do Windows Bloqueio de Páginas na Memória. Se nenhuma conta for adicionada, significa que a configuração não está habilitada. Idealmente, a conta de serviço do SQL Server deve ser adicionada a essa política se o Bloqueio de Páginas na Memória estiver habilitado.

Método 4: Usando o DMV sys.dm_os_sys_info

O DMV sys.dm_os_sys_info fornece informações sobre a configuração do modelo de memória do SQL Server, que inclui detalhes sobre o Bloqueio de Páginas na Memória. Execute o seguinte comando para obter a saída do modelo de memória:

SELECT sql_memory_model, sql_memory_model_desc
FROM sys.dm_os_sys_info

Se a saída mostrar um valor de 1 para “sql_memory_model”, significa que o modelo de memória sendo usado é convencional e não Bloqueio de Páginas na Memória.

Habilitando ou Desabilitando a Configuração do Bloqueio de Páginas na Memória

Se o Bloqueio de Páginas na Memória não estiver habilitado para sua instância do SQL Server em um servidor Windows, você pode seguir estas etapas para habilitá-lo:

  1. Certifique-se de ter privilégios de administrador do sistema e obtenha os detalhes da conta de serviço do SQL Server no SQL Server Configuration Manager.
  2. Vá para o menu Iniciar no servidor Windows, clique em Executar, digite “gpedit.msc” e pressione Enter para abrir a janela de política de grupo local do Windows.
  3. Na janela de política de grupo local, expanda o nó Configuração do Computador, em seguida, expanda Configurações do Windows e expanda ainda mais Configurações de Segurança. Clique na pasta Políticas Locais.
  4. Dentro da pasta Políticas Locais, localize e clique duas vezes na política “Bloquear páginas na memória”.
  5. Na janela de propriedades da política, clique na guia “Configuração de Segurança Local” e, em seguida, clique em “Adicionar Usuário ou Grupo” para adicionar a conta de serviço do SQL Server.
  6. Na caixa de diálogo “Selecionar Usuários, Contas de Serviço ou Grupos”, selecione a conta de serviço do SQL Server e clique em OK.
  7. Após adicionar a conta, ela será exibida na guia “Configuração de Segurança Local”. Clique em Aplicar e OK para salvar e fechar a janela.
  8. Reinicie o serviço do SQL Server para que as alterações tenham efeito. Você pode fazer isso por meio do SQL Server Configuration Manager.

O Bloqueio de Páginas na Memória deve estar habilitado agora após reiniciar o serviço do SQL Server.

Validando a Habilitação do Bloqueio de Páginas na Memória

Para validar se o Bloqueio de Páginas na Memória está habilitado, você pode repetir as etapas anteriores e verificar o seguinte:

  • O script T-SQL agora deve mostrar um valor de memória para alocação de página bloqueada.
  • O log de erros do SQL Server deve exibir “Usando páginas bloqueadas no gerenciador de memória”.
  • O valor “sql_memory_model” no DMV sys.dm_os_sys_info deve ser 2, indicando “LOCK_PAGES”.

Ao seguir essas etapas, você pode garantir que o Bloqueio de Páginas na Memória esteja corretamente habilitado para sua instância do SQL Server, o que pode ajudar a otimizar o desempenho do sistema e do SQL Server durante situações de pressão de memória.

Artigo Atualizado em: 2021-07-19

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.