Estou tentando recuperar alguns dev-dbs em que o diretório de dados estava em uma partição estendida que foi excluída inadvertidamente. Conseguimos recuperar as pastas/arquivos usando um software de recuperação, no entanto, o arquivo MDF real parece ter alguns problemas.
Qualquer tentativa de anexar ou reparar falhará com o seguinte:
O SQL Server detectou um erro de E/S baseado em consistência lógica: página rasgada (assinatura esperada: 0x00000000; assinatura real: 0x7bd02384). Ocorreu durante uma leitura de página (1:0) no banco de dados ID 9 no deslocamento 0000000000000000 no arquivo 'G:\data\database.mdf'.
Passos que tentei:
- criar banco de dados para anexar
- dbcc checkdb(database, repair_allow_data_loss) - depois de criar db vazio e copiar o arquivo MDF sobre o novo)
Nota - o processo de recuperação identificou várias versões diferentes do mesmo arquivo com extensão diferente, já tentei com cada arquivo, mesmo erro. Não há backups.
Algo mais que poderia ser tentado?
Um erro de detecção de página rasgada na página (1:0) indica que a página principal do arquivo de banco de dados principal está corrompida. Esta página contém uma infinidade de detalhes importantes sobre o banco de dados. Uma saída de amostra de
DBCC PAGE
um dos meus bancos de dados mostra:Se a primeira página estiver corrompida, isso provavelmente significa que você não corrigiu corretamente o sistema de arquivos excluído.
Claramente, ter um plano de recuperação bem testado , mesmo para bancos de dados de desenvolvimento, pode ser considerado A Good Thing™