É colocado, periodicamente, um ponto de verificação (checkpoint) no registro prévio da escrita (WAL = Write-Ahead Logging) (Para ajustar o intervalo do ponto de verificação automático devem ser consultados os parâmetros de configuração em tempo de execução checkpoint_segments e checkpoint_timeout). Ao ser submetido, o comando CHECKPOINT força um ponto de verificação imediato, sem aguardar pelo ponto de verificação programado. [1]
Um ponto de verificação é um ponto na seqüência de registros de transações onde todos os arquivos de dados são atualizados para refletir as informações registradas. Todos os arquivos de dados são descarregados (flushed) no disco. Para obter informações adicionais sobre o sistema WAL deve ser consultado o Capítulo 27.
Somente os superusuários podem executar o comando CHECKPOINT. Este comando não foi feito para ser utilizado durante a operação normal.
[1] |
SQL Server — O comando CHECKPOINT escreve todas as páginas sujas (dirty pages) do banco de dados corrente no disco. As páginas sujas são páginas de dados que entraram no buffer cache e foram modificadas, mas ainda não foram escritas no disco. Os pontos de verificação economizam tempo durante uma recuperação posterior por criarem um ponto onde existe a garantia de que todas as páginas sujas foram escritas no disco. Por motivo de desempenho, o Mecanismo de Banco de Dados realiza modificações nas páginas do banco de dados em memória e não escreve a página no disco após cada modificação. Entretanto, o Mecanismo de Banco de Dados precisa realizar periodicamente um ponto de verificação para escrever as páginas sujas no disco. Escrever as páginas sujas no disco cria um ponto bom conhecido a partir do qual o Mecanismo de Banco de Dados pode começar a aplicar as modificações contidas no log durante a recuperação após uma parada não esperada ou queda. SQL Server 2005 Books Online — CHECKPOINT (Transact-SQL) (N. do T.) |