Compartilhar via


Usando OLTP na Memória em um Ambiente de VM

A virtualização do servidor pode ajudá-lo a diminuir os custos operacionais e de capital com a TI, e atingir uma maior eficiência de TI com processos de provisionamento de aplicativo, manutenção, disponibilidade e backup/recuperação aprimorados. Com os avanços tecnológicos recentes, as cargas de trabalho de banco de dados complexas podem mais ser prontamente consolidadas usando a virtualização. Este tópico abrange as práticas recomendadas para usar o OLTP in-memory do SQL Server em um ambiente virtualizado.

Pré-alocação de memória

Para a memória em um ambiente virtualizado, o melhor desempenho e o suporte aprimorado são considerações essenciais. Você deve ser capaz de alocar memória rapidamente para máquinas virtuais dependendo de seus requisitos (cargas de pico e fora de pico) e garantir que a memória não seja desperdiçada. O recurso de Memória Dinâmica do Hyper-V aumenta a agilidade sobre como a memória é alocada e gerenciada entre as máquinas virtuais executadas em um host.

Algumas práticas recomendadas para virtualizar e gerenciar o SQL Server precisam ser modificadas ao virtualizar um banco de dados que tenha tabelas com otimização de memória. Sem tabelas com otimização de memória, duas das práticas recomendadas são:

  • Se você usar MIN_SERVER_MEMORY, será melhor atribuir somente a quantidade de memória necessária para que a memória suficiente permaneça para outros processos (impedindo a paginação).

  • Não defina o valor de pré-alocação de memória muito alto. Caso contrário, outros processos podem não obter memória suficiente no momento em que a exigirem e isso pode levar à paginação de memória.

Se você seguir as práticas acima para um banco de dados com tabelas otimizadas pela memória, uma tentativa de restaurar e recuperar um banco de dados poderá resultar no banco de dados ficando em um estado de “Recuperação Pendente”, mesmo se você tiver memória suficiente para recuperá-lo. A razão para isso é que, ao iniciar, o OLTP in-memory traz os dados para a memória de maneira mais agressiva do que a alocação de memória dinâmica faz ao alocar a memória no banco de dados.

Resolução

Para solucionar isso, pré-aloque memória suficiente para o banco de dados a ser recuperado ou reinicie o banco de dados, não um valor mínimo que depende da memória dinâmica para fornecer a memória adicional quando for necessário.

Consulte Também

OLTP na memória (otimização na memória)