of 21/21
LOG DE TRANSAÇÃO Lílian Simão Oliveira

Log de transação

  • View
    35

  • Download
    2

Embed Size (px)

DESCRIPTION

Log de transação. Lílian Simão Oliveira. O que é um Log de Transação ?. - PowerPoint PPT Presentation

Text of Log de transação

Log de transao

Log de transaoLlian Simo OliveiraO que um Log de Transao?O log de transaes um componente crtico do banco de dados e, se houver uma falha do sistema, ser necessrio que o log de transaes retorne seu banco de dados a um estado consistente. O log de transaes nunca deve ser excludo ou movido a menos que voc compreenda plenamente as consequncias disso.

Log de TransaoCada alterao feita em um banco de dados tem uma entrada inserida no log de transao. Cada linha recebe um nmero exclusivo internamente, chamadoLSN(Log Sequence Number). O LSN um valor inteiro que comea em 0(zero) quando o banco de dados criado e incrementado at o infinito. Um LSN nunca reutilizado e sempre incrementado. podemos dizer que basicamente ele fornece um nmero em sequncia para cada alterao feita em um banco de dados.

Contedo Log de TransaoATIVA e uma INATIVAA parte INATIVA contm todas as alteraes commitadas no banco de dados. A parte ATIVA do log contm todas as alteraes ainda no commitadas.

Como funciona o uso do Log de Transao?Backup Log Transao:Quando o backup do log iniciado o SQL Server inicia no menor LSN do log de transao Comea a gravar cada registro do log de transao sucessivo no backupAssim que o SQL Server atinge o primeiro LSN que ainda no foi commitado(ou seja, a transao mais antiga aberta), o backup do log de transaes terminaA parte do log de transao que teve o backup feito removida e libera espao para ser reutilizado

Log de transao formado de um ou mais arquivos associados a um banco de dados Log no ultrapassa os limites dos banco de dadosPor tanto uma transao empresarial executada em vrios bancos de dados fisicamente implementada como uma transao separada dentro de cada banco de dados afetado exigido para armazenar informaes suficietes para permitir que o SQL Server recupere um banco de dados quando a instncia for reiniciadaLSN(Log Sequence Number)Em nvel de banco de dados, o LSN da ltima alterao feita no banco armazenado no cabealho do master data file(arquivo de dados mestre). A nvel de arquivo de dados(data files), o LSN da ltima alterao feita em uma pgina dentro do arquivo armazenado no cabealho do arquivo de dadosCada pgina de dados dentro de um banco de dados tambm grava o LSN da ltima alterao da pgina de dados.LSN(Log Sequence Number)Todas as alteraes de dados ocorrem dentro do buffer na memria. Quando feito uma alterao, o buffer correspondente modificado e o registro adicionado no log de transao. Uma pgina modificada no buffer pool referenciada como uma dirty page(pgina suja)Cada dirty page monitora o LSN no Log de Transao correspondente alterao que modificou a pagina no buffer pool.LSN(Log Sequence Number)Quando o SQL Server executa um checkpoint, todas as pginas sujas do buffer pool so gravadas nos arquivos de dadosDurante o processo de checkpoint, o SQL Server compara o LSN da pgina suja no buffer pool com o LSN da pgina de dados no disco. Se o LSN da pgina de dados no disco que o da pgina de disco ou do arquivo de dados que contm a pgina, a pgina do buffer pool sobrescrita pela pgina do disco.

LSN

LSN

LSNQuando o processo de checkpoint termina de gravar a pginas sujas nos arquivos de dados , o maior LSN gravado em cada arquivo gravado no cabealho do mesmoAlm disso o maior LSN gravado no processo de checkpoint inteiro gravado no cabealho do arquivo de dados mestre(master data le)LSNO SQL Server garante que o LSN de cada pgina dentro de uma arquivo seja