Rolling a Transaction Forward/Back

Os arquivos de log de transação são arquivos write-ahead que possuem a missão de garantir que todas as transações sejam persistidas e possam ser recuperadas.
Quando um registro é inserido primeiro ele passa pelo log de transação e durante um processo chamado checkpoint e outras situações, os dados do log são transferidos para o arquivo de dados.
A cada vez que o serviço do SQL Server for inicializado é executado um processo de recovery de cada banco de dados. Este processo permite que os dados sejam mantidos em estado consistente (committed).
O processo de recovery funciona com duas execuções:
Rolling a transaction forward: é o processo que lê o log de transações, procura por qualquer transação confirmada que não tenha sido escrita no arquivo de dados, ao encontrar alguma situação registra esse dado no arquivo de dados.
Rolling a transaction back: o processo de recovery também procura registros que foram pré-escritos nos arquivos de dados e que por algum motivo não finalizou, como isso não é considerado uma transação consistente o recovery irá remover essas alterações dos arquivos de dados.
Na edição Enterprise este processo pode ser feito em paralelo através de todos os bancos de dados da instância.
Concluindo, esse processo também acontece no final de um restore de banco de dados e é o mecanismo de garantia de que todo o restore não afetará ou comprometerá os dados já consolidados.
Abraço, Rodrigo

Autor: SQLCrespi

Rodrigo Crespi é MVP Data Platform, MCT, MCSE, MCSA, MCIT, MCDBA e MCP em SQL Server, possuí outras certificações em .NET Framework, Dynamics CRM e etc. Iniciou trabalhando com SQL Server na versão 6.5 na época como desenvolvedor, logo direcionou a sua carreira para a área de administração de bancos de dados. Atualmente é Sócio da CrespiDB – Soluções em Plataformas de Dados, além de professor universitário na Uniftec – Caxias do Sul Autor de diversos artigos publicados em sites e revistas sobre SQL Server e engenharia de software, mantem o canal SQLCrespi no Youtube, o blog SQLCrespi, além de ser dedicado ao SQL Server RS PASS Chapter Leader do grupo de profissionais em SQL Server do Rio Grande do Sul.

One thought on “Rolling a Transaction Forward/Back

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s