No artigo de hoje vamos demonstrar como solucionar o problema 5173 ao tentar Anexar / Attach um arquivo mdf no SQL Server.
Esse artigo eu fiz juntamente com a ajuda do grande Súlivan Simões ( LinkedIn ). Basicamente na situação problema, aconteceu que uma base foi desanexada / de-attach , e quando foi realizado a tentativa de anexar novamente, ele acusava uma falha nos arquivos ldf, dando o número de erro 5173.
Para solucionar esse problema, foi necessário fazer os seguintes procedimentos:
- Faça um backup do arquivo mdf original, por exemplo, bancotst_bkp.mdf
- Renomeie o arquivo mdf, por exemplo, bancotst_original.mdf
- Pelo Management Studio, crie um novo banco de dados com o mesmo nome (por exemplo bancotst), e digite a mesma pasta e nome do arquivo mdf e ldf originais, por exemplo, C:\SQL\bancotst.mdf e C:\SQL\bancotst.ldf
- Feche o Management Studio, e pare os serviços do SQL
- Remova os novos arquivos mdf e ldf criados
- Renomeie o arquivo do tópico 2, voltando o nome, por exemplo, de bancotst_original.mdf para bancotst.mdf
- Inicie os serviços do SQL
- Abra o Management, note que a base vai estar algo como Pendente / Pending, isso pois o SQL entendeu que alguma coisa estranha aconteceu (como a exclusão do ldf)
- Agora na query iremos executar os comandos para “recriar” o ldf, conforme abaixo
ALTER DATABASE [Nome da sua Base] SET EMERGENCY; GO ALTER DATABASE [Nome da sua Base] set single_user GO DBCC CHECKDB ([Nome da sua Base], REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS; GO ALTER DATABASE [Nome da sua Base] set multi_user GO
Após isso, caso queira, reinicie os serviços do SQL e já pode utilizar a base
Obs.: O script do passo 9, pode demorar para ser executado, dependendo do tamanho da base, e dos recursos do servidor.
Referências:
- Recovery Pending State – sqlserverlogexplorer.com
- Unable to attach Database. Errors 5173 and 824 – social.msdn.microsoft.com
Bom pessoal por hoje é só.
Abraços e até a próxima.