Quem é o responsável por garantir os dados da minha database?

Ola pessoal,

Iniciando o aprofundamento dos estudos sobre os componentes do SQL Server, vou ser breve em mostrar quem é o responsável por garantir a integridade da minha database. O que muitas vezes vemos errorlog do SQL Server sao essas frases:

Recovery completed for database master (database ID 1) in 2 second(s) (analysis 691 ms, redo 318 ms, undo 602 ms.) This is an informational message only. No user action is required.

ou

1 transactions rolled forward in database ‘AdventureWorksDW’ (6). This is an informational message only. No user action is required.

ou

10 transactions rolled back in database ‘AdventureWorksDW’ (6). This is an informational message only. No user action is required.

Ai eu te pergunto quem realiza essas operaçoes? E voce me responde que isso é de responsabilidade das operacoes UNDO e REDO.

Por parte isso esta certo, mas ainda assim por traz desses dois nomes temos um processo por traz disso tudo chamado de WRITE-AHEAD LOGGING.

Toda essa magica de sincronização acontece graças a esse agente que é garantido que cada mudança ocorrida é enviada primeiramente para o transaction log antes que digamos que esteja como commitada, e que os registros do log são sempre escritos no disco antes que as paginas de dados onde as mudanças foram atualmente feitas sejam escritas.

Vale lembrar que a escrita nas paginas de dados muitas vezes ocorrem de forma assíncrona, pois todas as mudanças podem ser recuperadas do arquivo de log se necessário. É importante lembrar também que o componente de gerenciamento do transaction log gerencia também a operacao de logging, recoverying, e gerenciamento do buffer.
Temos ainda um tipo de wait para ele que se chama WRITELOG. Em um outro post em um outro dia vamos falar um pouco dele.

Espero que tenham gostado desse post, tentei ser o mais simples possivel. A medida que os estudos forem avançando, vou avançando o conteudo dos posts.. so…. stay tuned !!

Att,
Marcos Freccia
[MCTS|MCITP|MCT SQL Server 2008]

 

Sobre Marcos Freccia

MVP em SQL Server (Data Plataform) , especialista em SQL Server, e atualmente trabalhando com Microsoft Azure!

Publicado em janeiro 12, 2012, em Administração, MCM, SQL Server Internals e marcado como , , , . Adicione o link aos favoritos. Deixe um comentário.

Deixe uma resposta

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

%d blogueiros gostam disto: