Background Task: Lazy Writer


Lazy writer é o processo responsável por escrever os dados em disco de forma assíncrona, além de desempenhar um papel importante no gerenciamento de memória.



  • Escrita assíncrona de dados?


Sim! Os comandos UPDATE/INSERT/DELETE são gravados no Transaction Log de forma síncrona, mas realizam as modificações dos dados em memória. Nesse momento, o comando finaliza e o controle retorna ao usuário. Em background, o processo de lazy writer transfere as informações para os arquivos de Dados.



  • Qual o papel do Lazy writer no gerenciamento de memória?


Durante a execução do Lazy writer, o tamanho do Buffer Pool (também conhecido como Data Cache) é recalculado e libera-se memória se necessário.


Apenas como curiosidade, o Lazy writer é um processo de sistema e pode ser observado através da query:


   SELECT*FROMsys.dm_exec_requests
   WHEREcommand =‘LAZY WRITER’


Ao rodar o SELECT anterior na minha máquina, observamos que o lazy writer roda como SessionID 4 em background.


image


Em servidores de arquitetura NUMA, uma instância SQL Server possui um Lazy writer para cada Memory Node.

Comments (0)

Skip to main content