Vamos falar um pouco sobre recuperação do arquivo de log. Abaixo iremos simular um problema envolvendo o arquivo de transação. Suponhamos que ele esteja armazenado em um disco diferente do que está o arquivo de dados, este disco por algum problema o disco é danificado e o arquivo de transação é perdido justamente no dia em que ocorreram uma quantidade boa de transações. Seu banco de dados entra em modo "suspect" por não conseguir acessar o arquivo de log. Você pode até tentar tirar o status de "suspect" utilizando outros procedimentos mas não consegue. Então fica a pergunta o que fazer?

 Uma das soluções é você colocar seu banco em modo "Emergency"  e transferir os dados para outra base de dados, mas acho que podemos resolver isso de uma forma mais simples e rápida.

 No SQL Server existem algumas procedures não documentadas, e em uma delas está nossa solução, vamos utilizar o DBCC REBUILD_LOG. Com ela iremos reconstruir nosso arquivo de log e fazer a normalização do banco de dados. Abaixo todo o procedimento para a criação do no arquivo de log.

 1. Vamos colocar nosso banco em modo "Emergency", alterando seu status para o código -32768

  use master
  go

  sp_configure 'allow updates', 1
  go

  reconfigure with override
  go

  update sysdatabases set status = -32768 where [name] = "db_NomeBanco"

 2. Agora executamos o comando dbcc_rebuild_log, onde passamos por parâmetro no nome do banco a ser reconstruído o log.

  dbcc rebuild_log(db_NomeBanco)
  go

 3. Para finalizar voltamos o modo "allow updates" para 0

  use master
  go

  sp_configure 'allow updates', 0
  go

  reconfigure with override
  go


 Com isso finalizamos nosso procedimento de recuperação do arquivo de log.

 Obs.: Este procedimento deve ser feito em último caso, somente quando ocorrer a perda do arquivo de log de transação.